text:
Is Dexie.Syncable using OT?

From the looks of it, I'm guessing it's doing operational transforms (OT). I didn't see this mentioned anywhere in the docs or code so just wanted to confirm I understand correctly.

Hmm this sounds correct, at least from what I understand by reading a bit about operational transforms. But this only holds true for dexie syncable itself. What the server does with the data is another issue. There are 2 server implementations that I know of that are open source. Both consider the last change when changing the same object from two different clients so data might get lost there. At least this is what I remember about the implementations. I would have to check the code to be sure.
Maybe if you give me more info about OT, I could give you some more information.

I'm no expert in distributed systems, I trust your understanding of OT is likely better than mine.
I ask because you mention the possibility of making use of CRDTs for conflict-free sync, so this had me wondering what the current implementation was doing. I dug around the code but didn't see any specific algorithm mentioned.

I haven't worked on the code for quite some time but this is what I remember:
Dexie-Syncable records every ADD/UPDATE/DELETE operation. When it is time to send the operations to the server the operations are firstly merged. I guess merge could be seen as OT. For each operation we check the ID and merge all operations which are defined for that ID. For example for the ID 1 we might have an ADD, UPDATE, UPDATE then those 3 are merged into 1 ADD operation which contains the two UPDATES. UPDATES are defined on a property level. Changing a property in an object is an UPDATE but we don't record what exactly changed in the property just the the property was changed and the new value.
Now the server comes in play. There is an official server in the Dexie examples and one that I wrote. Both basically work the same. They record all operations those got from the various dexie clients. Everytime we get a new set of operations, the server tries to merge the operations. Now if you have for example two UPDATE operations for one ID and both change the same property, then the last change would win. I'm not sure if this type of conflict resolution is allowed in OT. After the server is done all the new operations are sent back to the client.
So this is how dexie syncable + the server implementations which I know of work. Now I well let you decide if this could be considered OT or not.

authors: cfilipov nponiros


text:
Scope of features var in template

A downstream consumer of this Puppet mod reported issues with the scope of the @features var in the Karaf config template. Although he didn't have many details, his guess was that because he was consuming the ODL mod along with many others, the tests local to the ODL mod weren't picking up the issue. I added a ton of relevant Beaker tests in 082f0d6e05105ce995c10e5f40e5389aba1c94b9 to try to highlight the issue (because TDD), but was unable to do so. Reading the docs, I did find this potentially relevant. Using the scope.lookupvar('opendaylight::features').join(",") format doesn't break anything for the mod's rspec-puppet or Beaker tests, but I'm waiting on feedback from the other dev to know if it fixed the issue in their more complex environment.

Per the downstream dev, 68ddaf8671731a1f32a5775312fff0fb729b34f9 fixed it.

source: gharchive/issue

license_type: permissive

license_source: bigquery


text:
Add Linux support

We're failing to build on Linux today. This PR gets us working on Linux by making ZippyJSON a platform-conditioned dependency, as well as fixing a host of other issues. I added Linux checks to CI as well.
When we merge, I'll need to add the linux check as required on all PRs.

Merging this since we aren't really changing functionality, and we have good test coverage on the changed code. As always, happy to take feedback post merge.

source: gharchive/pull-request

repo: dfed/SafeDI

license: MIT

license_source: github-api


text:
Release Version 1.0.0

TODOs

[x] Execute integration tests
[ ] Verify that test VMs got cleaned up
[ ] Create GitFlow release
[ ] Verify publishing to NuGet.org via TeamCity succeeded
[ ] Verify that nuget shield is showing version
[ ] Smoke test DLL in PoSH (i.e. Login test)
[ ] Close Milestone 1.0.0

This does not need to be an issue as we will release it anyway if we integrate

All tests green

Done


text:
chore: upgrade stable structures to version 0.5.2

The API for stable structures changes quite significantly between the two versions, so the change is relatively involved.
Due to a (now known) performance regression in stable structures >= 0.4.0, address_utxos have been migrated to use a Blob in the BTreeMap rather than an AddressUtxo. Once the performance regression is fixed, we'll use AddressUtxo as the type again.
There's a minor performance regression, mostly due to the conversions between Blob and Vec. These will be addressed once the regression mentioned above is addressed, but given that it's minor, it's not a blocker for the upgrade.

There's a minor performance regression, mostly due to the conversions between Blob and Vec

Something that I thought about while reviewing and related to the small performance regression: it would be nice to see the diff in benchmarks in percentages to more easily confirm the regression is negligible (instruction numbers are quite large in nature which makes it harder to eyeball things).

Agreed. The stable-structures crate is now using criterion to display the output, and that's much easier to eyeball. I think we can do the same here.

repo: dfinity/bitcoin-canister


text:
Correctly compute RBTree size

Right now, it doesn't work when you remove or delete elements from the RBTree, since those methods just set the value of a #node to null. The fix is to treat the tree as empty in the latter case.

Tests should be passing now.

Side comment: this code is a great opportunity to test the select Wasm instruction's presence once we generate it.

repo: dfinity/motoko-base


text:
Can't concatenate arrays

actor {
  public shared func f(): async () {
      var newEntries: [Int] = [];
      newEntries #= newEntries;
  };
}

The above code must be compilable, but:
$ moc x.mo
x.mo:4.7-4.31: type error [M0060], operator is not defined for operand types
  [Int]
and
  [Int]
$ moc --version
Motoko compiler 0.11.0+ (source yh3wb1vx-vj8j4j32-k8gq4m8y-4cxlqinf)

Checked with a newer version of moc, the same bug:
$ moc --version
Motoko compiler 0.11.1+ (source 7k01snp5-bm3lbckz-84fkkzp5-zqz3gvyv)

Because Array is not Text :-) and #= (as well as #) applies to Text.
Background: Text has a representation of ropes internally and provides O(1) concatenation. Arrays are contiguous, so concatenation is a linear complexity operation. You'll have to implement it in terms of Array.tabulate.

https://github.com/dfinity/motoko-base/blob/6f49e5f877742b79e97ef1b6f226a7f905ba795c/src/Array.mo#L176 provides Array.append, but we deprecate it because it easily leads to quadratic behaviour.

authors: crusso ggreif vporton

repo: dfinity/motoko


text:
style(frontend): implement color scheme and theme from figma

Motivation
We want to align color usages to the defined color variables from the design team.
Primitive colors:

Semantic colors:

Variables:

This PR consolidates ideas from: https://github.com/dfinity/oisy-wallet/pull/2897 and https://github.com/dfinity/oisy-wallet/pull/3121
In a nutshell:
We define available colors in base-colors.scss. (Primitive colors)
We define a theme by specifying the theme variables and assigning colors.
We make the variables available in tailwind.
Note
This PR showcases a single usage of the new text class in the card. If approved, the next PR will implement all colors. And then a further PR will replace current color usages with the new scheme.
Changes

base-colors.scss introducing a place to define primitive colors
default-theme.scss using these colors to define a theme
theme-variables.ts to make the theme variables available in tailwind

Tests
Figma definition:

Application before:

Application new:

Example:
Overriding the theme will be:

define a new theme.scss with a new color mapping
make the :root selector more specific, switching to [data-theme='fancy']
For showcasing, I override one variable definition:

@AntonioVentilii-DFINITY  / @peterpeterparker  let me know what you think.

@loki344 As discussed offline, better to start with the "brand" colors:

the Design team will adjust the neutrals colors
the brand colors give more practical examples on how the color schema is applied

@AntonioVentilii-DFINITY take a look at it again please

repo: dfinity/oisy-wallet


text:
Update showcase.json add grant project icRouter

Thank you for your contribution to the IC Developer Portal.
Before submitting your Pull Request, please make sure that:

[ ] You have updated the .github/CODEOWNERS file according to your changes.
[ ] You have registered new documents to /sidebars.js if any.

Dear @william-iclight,
In order to potentially merge your code in this open-source repository and therefore proceed with your contribution, we need to have your approval on DFINITY's CLA.
If you decide to agree with it, please visit this issue and read the instructions there. Once you have signed it, re-trigger the workflow on this PR to see if your code can be merged.
— The DFINITY Foundation

authors: sa-github-api william-iclight

repo: dfinity/portal


text:
Update dfx new instances with new instructions for dfx 0.17.0

Thank you for your contribution to the IC Developer Portal.
Before submitting your Pull Request, please make sure that:

[ ] You have updated the .github/CODEOWNERS file according to your changes.
[ ] You have registered new documents to /sidebars.js if any.

@jessiemongeon1 I put together a small PR that shows how to extract some common code into a snippet, and then import that snippet into an existing file. Might help to reduce the footprint of this PR: https://github.com/dfinity/portal/pull/2507

@jessiemongeon1 I put together a small PR that shows how to extract some common code into a snippet, and then import that snippet into an existing file. Might help to reduce the footprint of this PR: #2507

@dfx-json Thanks! This will help replace a few, but most of the examples use a different project name that is specific to the guide, so unfortunately this component can't be used in each instance, but it can definitely be used for all of the 'Hello world' instances!


text:
Add support for generating QR codes directly.

This removes the dependency on quill-qr.
Signed-off-by: John Plevyak jplevyak@gmail.com

I'm not too happy with the implementation here. I think it would be better from a code organization and review standpoint to introduce a Render trait, so that the top-most function can pick the Qr implementation to be used for printing, but nothing below would be aware of what QR codes are or how the final result will be rendered. This will also open the door naturally for JSON rendering instead of today's Candid.
Note that I did something similar for authentication in the nitro branch, where instead of passing around PEM data I pass an AuthInfo structure that allows for various identity schemes. I should back-port this part, since it conflicts often.

The only functions effected by your suggestion are main() and exec() in src/commands/mod.rs, so it isn't as big of a win as it might be for something like AuthInfo which I imagine would involve the individual commands, not that I am opposed to the suggestion.  I could pass the trait object down to the individual commands and push the output function into them, but that doesn't seem like a win either since most functions return a Vec as that is the primary function of quill and doing the output in src/commands/mod.rs makes sense.

Ok, you've convinced, I just wouldn't want to see a trend of "because it's easy" arguments getting added to exec. It doesn't feel like something exec should ever know anything about.

This PR was motivated by my workflow and by a request from Cédric Waldburger who asked me how to use QR codes with quill.
I use Google Lens to transfer my principal and seed phrase.   Lens does OCR, and it is pretty accurate, but I did have to double check the result for the principal, but since it is a one off I was OK with that.
I have a bookmark on my phone for Paul's QR scanner, but I could use "quill scanner-qr-code" to load the dapp.  Normally I just run quill --qr ... and then scan with Paul's scanner and verify the Candid that his dapp outputs.
I agree that this PR is most useful for folks who are less technical and who are OK with my workflow.  I can add a feature to output an arbitrary file as QR to do the principal or account id transfer.

Added command "quill qr-code [--string "..."] [--file ]" to transfer principal id and/or seed phrase.
PTAL

authors: jplevyak jwiegley

repo: dfinity/quill


text:
Prevent install of Pester v5

Add -MaximumVersion 4.99.99 on Install-Module Pester. In yml files and ps1.

@jhoneill , @ili101. Whenever it works, extra eyes for this would be great. Thanks.

Agree.
I think the stuff @ili101  did a while back meant we're aligned with 4's syntax and should find moving to 5 fairly easy.  Suffering a bit of brain fade, but I think the version on Azure DevOps is a bit out of date, I'm sure something I did need me to install 4 or a later version of 4.

authors: dfinke jhoneill

repo: dfinke/ImportExcel


text:
Columns in output for meta data values

After some fairly regular use of the compsheet output file, I have a further suggestion. Can you add 8 columns that each contain the create/modify + name/time for each spreadsheet in the compared pair? My suggestion of order would be create_name1, create_name2, create_time1, create_time2, etc.
Joss

I have a few alternative options to expand on your idea (not that it's bad, but I think there may be others to consider):
(A) Replace each column with the corresponding two you suggest below. For example, the boolean column for create_name, replaced with the names and keep the corresponding color coding scheme to mark which ones are identical or not. Pros: save on page space (4 columns becomes 8, rather than 12, making it more likely that all the info stays within the reader's screen - not sure how wide the columns are on your screens). Cons: Possibly less clear what the conclusion from each comparison is.
(B) Replace each column with the corresponding info but put the info into the same cell. Pros: save on space, easy reading for cases where metadata is the same. Cons: possibly annoying for the case where meta data is different, may look cluttered, lack of clarity in comparison conclusion.
(C) Add a comment with the info to the cell. In LibreOffice, on mouse hover this opens the info that you're looking for. See attached for an example. Pros: save on space, clean presentation, clear output from program. Cons: more work is needed to parse large numbers of comparisons, as a mouse hover is needed in each case.
(D) The original suggestion. Pros: easy reading of comparisons, clear output conclusion. Cons: unlikely that all info will stay on the page, redundant information presented.
Code for comments:
from openpyxl import Workbook
from openpyxl.comments import Comment
wb = Workbook()
ws = wb.active

comment = Comment('This is the comment text', 'Comment Author')
ws["A1"].comment = comment
ws['A1'] = 'Test comment here'
wb.save('test.xlsx')

Columns added, with original boolean columns kept. Commit f2b7f97616f37551d99d376b4667125f144f3538

repo: dfujim/SpreadsheetPlagiarism


text:
Conversion for %b/%B is off-by-one

SysTime d1 = SysTime(DateTime(2019, 1, 1), LocalTime());
SysTime d2 = SysTime(DateTime(2019, 1, 1), UTC());
assert(d1.format("%b") == "Feb");
assert(d2.format("%B") == "February");

Thanks for the report!

repo: dhasenan/datefmt

license: MS-PL


text:
doesn't stream against Volumio

Following from the conversation in SWYH:  https://github.com/StreamWhatYouHear/SWYH/issues/35
Running the debug exe v0.3
STEPS:

start the program
it detects Volumio (and doesn't hang as before)
click on what looks like might be a button, named "Volumio"

EXPECT
SWYH to show up in Volumio under media servers.  I should be able to click on that and press play and be able to hear all audio from my computer.
(I assume that is the flow, though I've never experienced it and can't be positive that is what is really supposed to happen)
ACTUAL RESULTS
Nothing happens in Volumio (which is unlike straight SWYH which at least shows up in Volumio's media servers window, even if Volumio can't ultimately connect to it).  Nothing happens anywhere else either.  Just output:
Output in the app logging window:
SSDP discovery started
Renderer at : http://192.168.1.53:49152/description.xml
Getting renderer descriptions
Renderer Volumio Volumio http://192.168.1.53:49152/ has 9 services
SSDP discovery complete
Default audio output device: Speakers / Headphones (2- Realtek Audio)
Default config SupportedStreamConfig { channels: 2, sample_rate: SampleRate(48000), buffer_size: Unknown, sample_format: F32 }
Serving on 192.168.1.50:5901
Start playing on Volumio host=192.168.1.53 port=49152 from 192.168.1.50
Received request /stream/swyh.wav from 192.168.1.53:38544

and eventually:
The wave_reader is receiving samples

Output in the console window:
SSDP discovery started
UDP response at 1:
HTTP/1.1 200 OK
CACHE-CONTROL: max-age=3600
DATE: Wed, 30 Sep 2020 13:04:10 GMT
EXT:
LOCATION: http://192.168.1.53:49152/description.xml
OPT: "http://schemas.upnp.org/upnp/1/0/"; ns=01
01-NLS: 39b4a8b6-0278-11eb-a535-936c2f8a36b1
SERVER: Linux/4.19.86-v7+, UPnP/1.0, Portable SDK for UPnP devices/1.6.20.jfd5
X-User-Agent: redsonic
ST: urn:schemas-upnp-org:service:RenderingControl:1
USN: uuid:04255cb4-11f0-58db-0053-0017f700aae4::urn:schemas-upnp-org:service:RenderingControl:1

Renderer at : http://192.168.1.53:49152/description.xml
Getting renderer descriptions
Get service description for http://192.168.1.53:49152/description.xml
Service description:
<?xml version="1.0"?>
<root xmlns="urn:schemas-upnp-org:device-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<device>
<deviceType>urn:schemas-upnp-org:device:MediaRenderer:1</deviceType>
<friendlyName>Volumio</friendlyName>
<manufacturer>Volumio</manufacturer>
<manufacturerURL>https://volumio.org</manufacturerURL>
<modelDescription>The Audiophile Music Player</modelDescription>
<modelName>Volumio</modelName>
<modelNumber>1.0</modelNumber>
<modelURL>https://volumio.org</modelURL>
<serialNumber>42</serialNumber>
<UDN>uuid:04255cb4-11f0-58db-0053-0017f700aae4</UDN>
<iconList>
<icon>
<mimetype>image/png</mimetype>
<width>64</width>
<height>64</height>
<depth>32</depth>
<url>/upmpd/icon.png</url>
</icon>
</iconList>
<serviceList>
<service>
<serviceType>urn:schemas-upnp-org:service:RenderingControl:1</serviceType>
<serviceId>urn:upnp-org:serviceId:RenderingControl</serviceId>
<SCPDURL>/upmpd/RenderingControl.xml</SCPDURL>
<controlURL>/ctl/RenderingControl</controlURL>
<eventSubURL>/evt/RenderingControl</eventSubURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:AVTransport:1</serviceType>
<serviceId>urn:upnp-org:serviceId:AVTransport</serviceId>
<SCPDURL>/upmpd/AVTransport.xml</SCPDURL>
<controlURL>/ctl/AVTransport</controlURL>
<eventSubURL>/evt/AVTransport</eventSubURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
<serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId>
<SCPDURL>/upmpd/ConnectionManager.xml</SCPDURL>
<controlURL>/ctl/ConnectionManager</controlURL>
<eventSubURL>/evt/ConnectionManager</eventSubURL>
</service>
<service>
<serviceType>urn:av-openhome-org:service:Product:1</serviceType>
<serviceId>urn:av-openhome-org:serviceId:Product</serviceId>
<SCPDURL>/upmpd/OHProduct.xml</SCPDURL>
<controlURL>/ctl/OHProduct</controlURL>
<eventSubURL>/evt/OHProduct</eventSubURL>
</service>
<service>
<serviceType>urn:av-openhome-org:service:Info:1</serviceType>
<serviceId>urn:av-openhome-org:serviceId:Info</serviceId>
<SCPDURL>/upmpd/OHInfo.xml</SCPDURL>
<controlURL>/ctl/OHInfo</controlURL>
<eventSubURL>/evt/OHInfo</eventSubURL>
</service>
<service>
<serviceType>urn:av-openhome-org:service:Time:1</serviceType>
<serviceId>urn:av-openhome-org:serviceId:Time</serviceId>
<SCPDURL>/upmpd/OHTime.xml</SCPDURL>
<controlURL>/ctl/OHTime</controlURL>
<eventSubURL>/evt/OHTime</eventSubURL>
</service>
<service>
<serviceType>urn:av-openhome-org:service:Volume:1</serviceType>
<serviceId>urn:av-openhome-org:serviceId:Volume</serviceId>
<SCPDURL>/upmpd/OHVolume.xml</SCPDURL>
<controlURL>/ctl/OHVolume</controlURL>
<eventSubURL>/evt/OHVolume</eventSubURL>
</service>
<service>
<serviceType>urn:av-openhome-org:service:Playlist:1</serviceType>
<serviceId>urn:av-openhome-org:serviceId:Playlist</serviceId>
<SCPDURL>/upmpd/OHPlaylist.xml</SCPDURL>
<controlURL>/ctl/OHPlaylist</controlURL>
<eventSubURL>/evt/OHPlaylist</eventSubURL>
</service>
<service>
<serviceType>urn:av-openhome-org:service:Radio:1</serviceType>
<serviceId>urn:av-openhome-org:serviceId:Radio</serviceId>
<SCPDURL>/upmpd/OHRadio.xml</SCPDURL>
<controlURL>/ctl/OHRadio</controlURL>
<eventSubURL>/evt/OHRadio</eventSubURL>
</service>
</serviceList>
<presentationURL>/upmpd/presentation.html</presentationURL>
</device>
<devicelist></devicelist>
<URLBase>http://192.168.1.53:49152/</URLBase>
</root>

Renderer Volumio Volumio http://192.168.1.53:49152/ has 9 services
.. urn:schemas-upnp-org:service:RenderingControl:1 urn:upnp-org:serviceId:RenderingControl /ctl/RenderingControl
.. urn:schemas-upnp-org:service:AVTransport:1 urn:upnp-org:serviceId:AVTransport /ctl/AVTransport
.. urn:schemas-upnp-org:service:ConnectionManager:1 urn:upnp-org:serviceId:ConnectionManager /ctl/ConnectionManager
.. urn:av-openhome-org:service:Product:1 urn:av-openhome-org:serviceId:Product /ctl/OHProduct
.. urn:av-openhome-org:service:Info:1 urn:av-openhome-org:serviceId:Info /ctl/OHInfo
.. urn:av-openhome-org:service:Time:1 urn:av-openhome-org:serviceId:Time /ctl/OHTime
.. urn:av-openhome-org:service:Volume:1 urn:av-openhome-org:serviceId:Volume /ctl/OHVolume
.. urn:av-openhome-org:service:Playlist:1 urn:av-openhome-org:serviceId:Playlist /ctl/OHPlaylist
.. urn:av-openhome-org:service:Radio:1 urn:av-openhome-org:serviceId:Radio /ctl/OHRadio
SSDP discovery complete
Default audio output device: Speakers / Headphones (2- Realtek Audio)
Default config SupportedStreamConfig { channels: 2, sample_rate: SampleRate(48000), buffer_size: Unknown, sample_format: F32 }
Serving on 192.168.1.50:5901
Pushed renderer #0 Volumio Volumio, state = ON
Start playing on Volumio host=192.168.1.53 port=49152 from 192.168.1.50
OHPlaylist server URL: http://192.168.1.50:5901/stream/swyh.wav
url: http://192.168.1.53:49152/ctl/OHPlaylist, SOAP Action: urn:av-openhome-org:service:Playlist:1#DeleteAll, SOAP xml body
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><u:DeleteAll xmlns:u="urn:av-openhome-org:service:Playlist:1"/></s:Body></s:Envelope>
resp: <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body>
<u:DeleteAllResponse xmlns:u="urn:av-openhome-org:service:Playlist:1"></u:DeleteAllResponse>
</s:Body> </s:Envelope>
url: http://192.168.1.53:49152/ctl/OHPlaylist, SOAP Action: urn:av-openhome-org:service:Playlist:1#Insert, SOAP xml body
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><u:Insert xmlns:u="urn:av-openhome-org:service:Playlist:1"><AfterId>0</AfterId><Uri>http://192.168.1.50:5901/stream/swyh.wav</Uri><Metadata><DIDL-Lite><item><DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/"><item id="1" parentID="0" restricted="0"><dc:title>swyh-rs</dc:title><res bitsPerSample="16" nrAudioChannels="2" protocolInfo="http-get:*:audio/wav:*" sampleFrequency="44100">http://192.168.1.50:5901/stream/swyh.wav</res><upnp:class>object.item.audioItem.musicTrack</upnp:class></item></DIDL-Lite></item></DIDL-Lite></Metadata></u:Insert></s:Body></s:Envelope>
resp: <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body>
<u:InsertResponse xmlns:u="urn:av-openhome-org:service:Playlist:1">
<NewId>10</NewId>
</u:InsertResponse>
</s:Body> </s:Envelope>
SeekId: 10
url: http://192.168.1.53:49152/ctl/OHPlaylist, SOAP Action: urn:av-openhome-org:service:Playlist:1#SeekId, SOAP xml body
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><u:SeekId xmlns:u="urn:av-openhome-org:service:Playlist:1"><Value>10</Value></u:SeekId></s:Body></s:Envelope>
resp: <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body>
<u:SeekIdResponse xmlns:u="urn:av-openhome-org:service:Playlist:1"></u:SeekIdResponse>
</s:Body> </s:Envelope>
url: http://192.168.1.53:49152/ctl/OHPlaylist, SOAP Action: urn:av-openhome-org:service:Playlist:1#Play, SOAP xml body
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Body><u:Play xmlns:u="urn:av-openhome-org:service:Playlist:1"/></s:Body></s:Envelope>
Received request /stream/swyh.wav from 192.168.1.53:38544
resp: <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body>
<u:PlayResponse xmlns:u="urn:av-openhome-org:service:Playlist:1"></u:PlayResponse>
</s:Body> </s:Envelope>

Just a couples of notes on this:

it's apparently not a firewall problem, as all communcation seems OK
Windows does not send samples to the capture thread until audio is actually playing on the default audio device (Speakers / Headphones (2- Realtek Audio) in your case), could this be the reason for the delayed wave_reader message? How do you play the music, can you select the output device in the application?
unlike SWYH swyh-rs does not advertise itself as a media server, you have to define a new webradio with the swyh-rs URL (http://192.168.1.50:5901/stream/swyh.wav in your case) if you want to start play from the Volumio UI
but this will not work for you as I see the stream request from your volumio arriving all right, and yet nothing plays
normally you should see Volumio playing the track "swyh_rs" in the Volumio UI

Questions:

does the UI still hang in the latest version?
are you familiar with Wireshark to capture a session?

I just tested with Realtek speakers as the default audio device at 48 kHz and this works for me.

Do you still have this problem with the latest version?
If not,  can I close this issue?
Or have you lost interest? In that case I will also close the issue.

Sorry, no I definitely haven't lost interest, I've just been VERY busy.  I hope to try your suggestions above by the end of this coming weekend. Thanks for your support on this!

No problem, sorry for bothering you!

OK, I grabbed the latest release, and it works!
Now I just need to figure out how to handle the delay when streaming videos... :-)
Thanks for creating this, and all your support @dheijl !

And you were right, it doesn't need to be registered as a webradio

You're welcome, glad it works. Just out of curiosity: how did you "handle the delay" ?

I haven't handled the delay.  I want to learn how, if it is even possible.

I suspect that a solution for the delay might best be provided right in swyh-rs

I think VLC might have a solution when playing videos, but youtube, netflix, etc?  Doubt it...

I suppose the audio is delayed, and not the video? In that case I can do nothing about it...

Exactly, and yes I understand you can't

OK, I suppose we can close this issue?

Dunno if this needs another issue:  I find that the sound quality is quite poor.  There is a very audible low noise in everything I stream, regardless of the source or the recording.

Better open a new issue: it's unrelated.
Audio quality should be identical to the original source on condition that Windows doesn't interfere with the audio stream:

in the audio control panel for the output source (playback) don't activate  "surround sound", select stereo in the "configuration" screen, and don't select any "enhancements", but check the "disable all enhancements" checkbox
if possible select the sample rate of the source (44100 Hz for CD quality playback like Deezer Hifi and Spotify 320 Mbit mp3, 48000 Hz for DVD playback) to prevent resampling (resampling is mostly harmless but needs some CPU and adds no value), this will avoid resampling by Windows
in the sound card specific configuration (like "Realtek HD audio configuration") don't activate any "enhancements", as they inevitably will distort the sound

I use a direct copy of the Windows WasApi audio stream, without any manipuplation except for the conversion from F32 (WasApi standard) to i16 audioformat (CD quality), which does not affect sound quality in any way except for dynamic range in the unlikely event the original source had more than 16 bit  (CD quality) depth. The sampling frequency is the one given by Windows, no resampling whatsoever.

Created:  https://github.com/dheijl/swyh-rs/issues/10

repo: dheijl/swyh-rs


text:
fix(data-value-set): refetch only when changing context-selection

Sorry for these back-and-forth fixes for refetching. I thought I had fixed this by not "subscribing" with useIsMutating-hook. But apparently if the subscribed field re-renders in the meantime between fetches - it will refetch all dataValues again. This could happen if you changed a field, then highlighted another field quickly.
I've set the staleTime: infinity to have more control over refetches. Now we manually refetch whenever the form selection changes.
Also simplified refetchOnMount, because this is not needed anymore due to our manual invalidateQueries.

but from the documentation, it sounds like calling invalidateQueries without specifying the queryKey will reset staleTime on all queries...which seems like it then makes our metadata query stale, and then causes it to refetch? I am at least seeing that now refetch on the netlify deploy whenever I change context selection

Very well spotted by @tomzemp 🙏 I had only looked at the code.
Now I have compared the behaviour of the development branch to that on this branch, and when make the same selection in both and then change the period, this branch is producing way more requests (16) than development (2).
So I don't think this should be merged in in its current state.

Thanks, I had filtered my network-tab and tunnel-visioned on dataValueSet-queries...
I've updated this now to pass the query-key.
I also had to include { type: 'active' } , even though the docs say this is the default. If I didn't do that, it would send 2 requests when changing context, for some reason...


text:
How to use backbone-associations in browserify ?

Hi !
I can't figure out how to use backbone-association in browserify.
I tried:
var Backbone = require("backbone");
var Association = require("backbone-associations");
var MyModel = Backbone.AssociatedModel.extend({
...
});
but the browser crashed saying
Uncaught RangeError: Maximum call stack size exceeded
and effectively, the call stack looks like:
Backbone.AssociatedModel.Backbone.Associations.AssociatedModel.BackboneModel.extend._set
which looks like a bit too much "AssociatedModel" in the same line...
Any help (or a browserify recipe) appreciated
Best regards
David

Not sure if you've solved it by now but I'm doing the following
var Backbone = require('backbone-associations'),
    _ = require('underscore')._

module.exports = Backbone.AssociatedModel.extend({
....
})

Backbone Associations already works with Browserify and Webpack. There is a cyclic dependency somewhere in your code.

authors: davvdg jameslai skysteve

repo: dhruvaray/backbone-associations

license: mit


text:
Reference link is broken

Siamese Recurrent Architectures for Learning Sentence Similarity

thanks . fixed 👍

repo: dhwajraj/deep-siamese-text-similarity


text:
perm problem with challenges dir

FreeBSD foo.u 10.1-RELEASE-p24 FreeBSD 10.1-RELEASE-p24 #0: Mon Nov  2 12:17:28 UTC 2015     root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  amd64
apache24-2.4.17
if challenge dir has default ownership, apache can not see it
# ls -ld challenges
drwx--x---  2 acme  staff  512 Dec  6 01:42 challenges/

You don't have permission to access /.well-known/acme-challenge/ on this server

so i hack it to www:www
# ls -ld challenges
drwx--x---  2 www  www  512 Dec  6 01:42 challenges/

and a browser can see the challenges dir, e.g.
Index of /.well-known/acme-challenge

but i run script as user acme and
foo.u:/home/acme> python acme_tiny.py --account-key ./account.key --csr ./domain.csr --acme-dir /home/acme/challenges > .signed.crt
Parsing account key...
Parsing CSR...
Registering account...
Already registered!
Verifying cache0.sea.rpki.net...
Traceback (most recent call last):
  File "acme_tiny.py", line 195, in <module>
signed_crt = get_crt(args.account_key, args.csr, args.acme_dir, LOGGER)
  File "acme_tiny.py", line 125, in get_crt
wellknown_path, wellknown_url))
ValueError: Wrote file to /home/acme/challenges/rSy_-pozern-II3T2jbHeclPoqvfxy7pQF1AeOCj6v8, but couldn't download http://foo.u/.well-known/acme-challenge/rSy_-pozern-II3T2jbHeclPoqvfxy7pQF1AeOCj6v8

no help in apache error log.  clue bat please

You have to set write permissions for acme-tiny and read for apache. So probably these commands should do the trick:
chown acme:www challenges/
chmod 750 challenges/

This should give you
# ls -ld challenges
drwxr-x---  2 acme  www  512 Dec  6 01:42 challenges/

/home/acme# ls -ld challenges
drwxr-x---  2 acme  www  512 Dec  6 08:17 challenges/
/home/acme> python acme_tiny.py --account-key ./account.key --csr ./domain.csr --acme-dir /home/acme/challenges > .signed.crt
Parsing account key...
Parsing CSR...
Registering account...
Already registered!
Verifying foo.u...
Traceback (most recent call last):
File "acme_tiny.py", line 195, in
signed_crt = get_crt(args.account_key, args.csr, args.acme_dir, LOGGER)
File "acme_tiny.py", line 125, in get_crt
wellknown_path, wellknown_url))
ValueError: Wrote file to /home/acme/challenges/3jOa9omhhPtlVS4MlDpKGrHstCbWn7eIutuDOCffBLg, but couldn't download http://foo.u/.well-known/acme-challenge/3jOa9omhhPtlVS4MlDpKGrHstCbWn7eIutuDOCffBLg

I think it has something to do with your config, and not acme-tiny itself. I would suggest closing this issue here. There's also a topic on the official forums https://community.letsencrypt.org/t/acme-tiny-py-perms-prob-with-challenges-dir/5888/3 that covers this problem.

From the forum, this appears to have been a permissions issue on the user's server. Closing.

same problem....

authors: GopherJ diafygi drtoful randyqx

repo: diafygi/acme-tiny


text:
Icon/arrow keyboard up and filmstrip

Description

Adds arrow-keyboard-up icon to accompany the existing arrow-keyboard-down arrow icon
Vertically flips the filmstrip-layout icon so it more accurately reflects that layout
Closes #223

Pull Request Checklist

[X] Ask the contributors if a similar effort is already in process or has been solved.
[X] Review the contribution guidelines.
[X] Use staging as your pull request's base branch. (All PRs using production as its base branch will be declined).
[X] Ensure all gulp scripts successfully compile.
[X] Update, remove, or extend all affected documentation.
[X] Provide a description what is being changed, extended, or removed.
[X] Link to any issue(s) this request is resolving.
[X] Ensure no private Dialpad links or info are in the code or pull request description (Dialtone is a public repo!).
[X] Request a review from Drew Chandler, Joshua Hynes, or Ted Goas

Obligatory GIF

@vcheng-dialpad I'm adding you here so you can see arrow-keyboard-up is being added per your request.

Arrow, Keyboard Down and Arrow, Keyboard Up are interesting ways to label these. Are chevrons the same thing?

Yes, chevrons are the same, just pointed left or right. I agree the naming is wonky (should probably just be chevron-up, chevron-right, chevron-down, and chevron-left), but that's the naming pattern that exists. Changing Arrow, Keyboard Up to chevron-up is a breaking change I can't really support at the moment.

repo: dialpad/dialtone


text:
DoraemonInterceptor 拦截器报错

java.lang.IllegalStateException: cannot make a new request because the previous response is still open: please call response.close()
at okhttp3.internal.connection.Transmitter.newExchange(Transmitter.java:164)
at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:41)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117)
at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:94)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117)
at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:88)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117)
at com.didichuxing.doraemonkit.kit.network.okhttp.interceptor.DoraemonInterceptor.intercept(DoraemonInterceptor.java:81)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117)
at com.didichuxing.doraemonkit.kit.network.okhttp.interceptor.LargePictureInterceptor.intercept(LargePictureInterceptor.java:29)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117)
at com.didichuxing.doraemonkit.kit.network.okhttp.interceptor.MockInterceptor.intercept(MockInterceptor.java:49)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117)
at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:229)
at okhttp3.RealCall$AsyncCall.execute(RealCall.java:172)
at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764)

java.lang.IllegalStateException: cannot make a new request because the previous response is still open: please call response.close()
at okhttp3.internal.connection.Transmitter.newExchange(Transmitter.java:164)
at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:41)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117)
at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:94)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117)
at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:93)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:88)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117)
at com.didichuxing.doraemonkit.kit.network.okhttp.interceptor.DoraemonInterceptor.intercept(DoraemonInterceptor.java:81)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117)
at com.didichuxing.doraemonkit.kit.network.okhttp.interceptor.LargePictureInterceptor.intercept(LargePictureInterceptor.java:29)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117)
at com.didichuxing.doraemonkit.kit.network.okhttp.interceptor.MockInterceptor.intercept(MockInterceptor.java:49)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:142)
at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:117)
at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:229)
at okhttp3.RealCall$AsyncCall.execute(RealCall.java:172)
at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764)

请确认你的项目是否已经升级到androidx并升级到最新的dokit版本
参考:http://xingyun.xiaojukeji.com/docs/dokit/#/androidGuide

项目运行环境是 androidx + doraemonkit V3.1.4，

项目运行环境是 androidx + doraemonkit V3.1.4，

好的 我这边看下

项目运行环境是 androidx + doraemonkit V3.1.4，

是在使用大图检测时出现的错误吗？

不开启大图检测也会出现

项目运行环境是 androidx + doraemonkit V3.1.4，

是在使用大图检测时出现的错误吗？

不开启大图检测也会出现

项目运行环境是 androidx + doraemonkit V3.1.4，

是在使用大图检测时出现的错误吗？

不开启大图检测也会出现

你的okhttp 版本是3.14+吗 感觉好像是okhttp 库的问题 我这边再调用前其实已经response.close()了

项目运行环境是 androidx + doraemonkit V3.1.4，

是在使用大图检测时出现的错误吗？

不开启大图检测也会出现

你的okhttp 版本是3.14+吗 感觉好像是okhttp 库的问题 我这边再调用前其实已经response.close()了

okhttp 版本是3.14.7

项目运行环境是 androidx + doraemonkit V3.1.4，

是在使用大图检测时出现的错误吗？

不开启大图检测也会出现

你的okhttp 版本是3.14+吗 感觉好像是okhttp 库的问题 我这边再调用前其实已经response.close()了

okhttp 版本是3.14.7

dokit 新版本已发布 请参考以下文档升级:http://xingyun.xiaojukeji.com/docs/dokit/#/androidGuide
注意:
插件配置模块的配置和以前有所区别，请重点关注下。
假如新的版本已经解决你的问题，可以选择自己关闭此issues或者回复此条信息由我来关闭。

authors: jtsky winchances

repo: didi/DoraemonKit


text:
不同版本的core和extension会导致Group中的自动调整大小失效

发生了什么？
使用的是@logicflow/core@^1.2.26和@logicflow/extension@1.1.3这两个包，会导致Group中的自动调整大小失效，将这两个包都换成1.1.31版本，就可以进行大小调整
logicflow/core版本
^1.2.22
logicflow/extension版本
1.1.31
logicflow/engine版本
No response
浏览器&环境
Chrome

core 包和 extension 包是同步迭代的，在配套使用时推荐使用相同或相近的版本，避免不符合预期的情况发生。

authors: ChangeSuger wuyumm

repo: didi/LogicFlow


text:
ZipFile.transform catch all transform exception

fun ZipFile.transform(
        output: OutputStream,
        entryFactory: (ZipEntry) -> ZipArchiveEntry = ::ZipArchiveEntry,
        transformer: (ByteArray) -> ByteArray = { it -> it }
) {
    val entries = mutableSetOf<String>()
    val creator = ParallelScatterZipCreator(ThreadPoolExecutor(NCPU, NCPU, 0L, TimeUnit.MILLISECONDS, LinkedBlockingQueue<Runnable>(), Executors.defaultThreadFactory(), RejectedExecutionHandler { runnable, _ ->
        runnable.run()
    }))

    entries().asSequence().filterNot {
        isJarSignatureRelatedFiles(it.name)
    }.forEach { entry ->
        if (!entries.contains(entry.name)) {
            val zae = entryFactory(entry)
            val stream = InputStreamSupplier {
                when (entry.name.substringAfterLast('.', "")) {
                    "class" -> getInputStream(entry).use { src ->
                        try {
                            src.transform(transformer).inputStream()
                        } catch (e: Throwable) {
                            System.err.println("Broken class: ${this.name}!/${entry.name}")
                            getInputStream(entry)
                        }
                    }
                    else -> getInputStream(entry)
                }
            }

            creator.addArchiveEntry(zae, stream)
            entries.add(entry.name)
        } else {
            System.err.println("Duplicated jar entry: ${this.name}!/${entry.name}")
        }
    }

    ZipArchiveOutputStream(output).use(creator::writeTo)
}

捕获了所有所有的transform阶段的所有异常，导致transform问题不会中断构建过程，只是在控制台输出 Broken class；
无法暴露编译期的存在的问题，以及无法看到原始异常堆栈（未打印错误堆栈），是否考虑取消catch 或者 仅catch部分异常，将原始异常 throw 出去

可以具体说说遇到了什么问题吗？

authors: gentrio johnsonlee

repo: didi/booster


text:
如何使用ASM-based Transformer来自己编写插件

https://github.com/didi/booster/wiki/How-to-Create-Customized-Transformer
看这边的介绍，使用第二种方法不能获取到 ClassTransformer 部分的源码，有提供依赖么

另外有一个点，我看到源码使用的是基于树的API编写的，官方说基于事件的解析速度和内存上回占优，树形API是在类转换上编写相对容易，booster是如何考量的

https://github.com/didi/booster/wiki/How-to-Create-Customized-Transformer
看这边的介绍，使用第二种方法不能获取到 ClassTransformer 部分的源码，有提供依赖么

dependencies {
    implementation "com.didiglobal.booster:booster-transform-asm:$booster_version"
}

另外有一个点，我看到源码使用的是基于树的API编写的，官方说基于事件的解析速度和内存上回占优，树形API是在类转换上编写相对容易，booster是如何考量的

之所以用 Tree API 主要是为了对栈帧进行复杂的操作

好的 谢谢

请问编写完插件后，依赖的插件名称在哪里设置  是直接使用 apply plugin: 'com.didiglobal.booster' 么

请问编写完插件后，依赖的插件名称在哪里设置 是直接使用 apply plugin: 'com.didiglobal.booster' 么

对

我尝试写了一个test
@AutoService(ClassTransformer::class)
class TestTransform : ClassTransformer {
    override fun transform(context: TransformContext, klass: ClassNode): ClassNode {
        val i = klass.methods.iterator()
        println("ClassNode:"+klass.name)
        while (i.hasNext()) {
            val mn = i.next()
            if ("testMethodActivity" == mn.name) {
                i.remove()
            }
        }
        return super.transform(context, klass)
    }
}

然后通过本地进行上传maven包进行测试
group='com.test.plugin'
version='0.0.1'

uploadArchives {
    repositories {
        mavenDeployer {
            repository(url: uri("${rootProject.projectDir}/repo"))
        }
    }
}

并且在dependencies中依赖
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath "com.didiglobal.booster:booster-gradle-plugin:$booster_version"
        classpath 'com.test.plugin:test:0.0.1'
    }

最后就是添加plugin apply plugin: 'com.didiglobal.booster'
使用 gradlew build --info 进行测试
测试发现print没有输出，而且方法没有被删除，请问是哪个步骤出现了问题

test 模块没有配置 kapt ？
参考以下配置：
dependencies {
    kapt "com.google.auto.service:auto-service:1.0-rc4"
    implementation "com.didiglobal.booster:booster-transform-asm:$booster_version"
}

有个问题，现在的测试我是通过UI效果和日志来验证，有没有简便的方法能够验证是否修改成功呢？
或者像使用JAVA编写那样能在trasnform文件夹中可以直接看到修改过的class文件

和Java编写的一样，可以在trasnform文件夹中可以直接看到修改过的class文件

JAVA会显示完整的类，KOTLIN版本的transform中多了一个文件夹，而且查看.class文件发现是这样的
public final class MainActivity public constructor() : android.support.v7.app.AppCompatActivity {
    public final val name: kotlin.String /* compiled code */

    protected open fun onCreate(savedInstanceState: android.os.Bundle?): kotlin.Unit { /* compiled code */ }

    public final fun testMethodActivity(var1: kotlin.String): kotlin.Int { /* compiled code */ }
}

是使用上出现了什么问题么

IDE 的原因。可以使用javap -v XXX.class 查看生成的Java class

authors: johnsonlee moyokoo neighbWang


text:
挂载服务器的时候

提示  node[jyw] not leaf

只有叶子节点才能挂载机器，创建节点的时候有个选项来控制是否是叶子节点

authors: UlricQin skydeadpeng

repo: didi/nightingale


text:
希望添加能给每一个选项，添加分数，填写完成后进行算分

@wybLA 不错👍，建议进一步补充下使用场景

心理测评

类似于这种问卷

也不一定是心理测评，问卷跟考试实际上是一个东西，只不过问卷是没有答案，考试是有配置答案，以及分数。

有没有同学在做，我打算做成上面这个，现在二开了

repo: didi/xiaoju-survey


text:
Enhanced inputs selector

Add select input to selection, options to restrict selection from a named form and to exclude disabled inputs.

This behavior could be better
import React from 'react'
import inputs from 'react-stateless-input'

const MyFormComponent = () => {

  const handleSubmit = (e) => {
    e.preventDefault()
    const { myForm: { email, password } } = inputs()
    // or const { email, password } = inputs().MyForm
    login(email, password)
  }

  return (
    <form name="myForm" onSubmit={handleSubmit}>
      <input name="firstName" />
      <input name="lastName" />
      <input type="submit" />
    </form>
  )

}

Yep, that sounds great. :D

authors: didierfranc noliiva

repo: didierfranc/react-stateless-input


text:
fix doc links

Motivation
(Write your motivation for proposed changes here.)
Have you read the Contributing Guidelines on pull requests?
(Write your answer here.)
Test Plan
(Share your test plan here. If you changed code, please provide us with clear instructions for verifying that your changes work.)
Related PRs
(If this PR adds or changes functionality, please take some time to update the docs at https://github.com/diem/diem/tree/master/developers.diem.com, and link to your PR here.)

/land

repo: diem/diem


text:
Use compact encoding for PgNumeric with neg weight

This continues #1992, but adds support for using the compact encoding for BigDecimals with negative weights.
While not supporting the more compact encoding for numbers with negative weights only causes issues with (all versions of) cockroach, I felt like we should fully support this encoding since we switched to it in #1992.

@henryboisdequin There is really no need to request a review from me personally here. If I don't respond to a PR in a few days that does mostly mean I do not have the capacity to do something about it now. Requesting a review in such cases only raises my frustration level, so please don't do that.

authors: mwilliammyers weiznich

repo: diesel-rs/diesel


text:
style(DoAndDont): Align images left

Resolves #1634

Thanks @Barsnes ! 😍🙏🏻

authors: Barsnes mrosvik

repo: digdir/designsystemet


text:
I already have Java 8 but it wants 7?

I'd thought that 64-bit apps kind of covered all 32-bit apps as well, but it's acting like I don't have Java at all. It says: "Maestro requires Java 7 (32-bit) or later. Visit http://java.com to download it."

Hi @minyassa, Maestro works with Java 8, but it does require* 32-bit Java. You can have both 32-bit and 64-bit Java installed at the same time.

It is possible to use 64-bit Java if you want, but you need to start the app via Maestro.jar in the installation folder instead of Maestro.exe. (If you're not sure what that means, I'd really recommend just installing 32-bit Java.) If you choose to use Maestro.jar instead, you won't be able to double-click on Maestro or ABC files to open them, but you can start Maestro and then open the file from within the app.

authors: digero minyassa

repo: digero/maestro


text:
Review Coupon Period calculation

“Coupon Periods” means each period from, and including, the preceding Coupon Payment Date to, but
excluding, the immediately following Coupon Payment Date.
If first period: use Issue Date instead of preceding Coupon Payment Date
If last period: use Redemption Date instead of immediately following Coupon Payment Date.
Review current calculation, especially:

In case of Libor style reference rates: ensure that daycount and fixing (offset) date is correct.
In case of SOFR Index style reference rates: ensure that daycount and fixings (offset) date is correct. Also ensure that the calculation makes sense in terms of the required observations and that it corresponds to the calculation of daily compounded SOFR.

daycount is the same for both cases. Seems correct and have also been validated for swaps before.

fixing (offset) date for Libor style rates has been recently validated.

fixings (offset) date for SOFR Index style reference rates has recently been aligned with that of Libor style rates: Fixing base date follows the adjusted vs unadjusted dates setting used for day-counts.

repo: digital-asset/daml-finance


text:
Send WorkDoneProgressEnd only when work is done

Recent changes to startup and progress reporting have resulted in multiple NotWorkDoneProgressEnd notifications being sent at startup, which makes automation (benchmarks, tests) challenging and seems meaningless from a user pov.
The goal of this PR is to eliminate those NotWorkDoneProgressEnd notifications sent when a kick is aborted before completion.
But what should the lsp server send to notify that the work got cancelled? I cannot find anything in the lsp specification for that scenario, so I've opted for not sending anything.
Thoughts?

I've no idea what LSP would like here. CC @alanz who might.

The work done progress is managed via tokens.  For each token there should be a begin, a series of zero or more updates, and then a "deallocation" via an end.
I have not looked into the current incarnation of the progress stuff in ghcide recently, but if I recall at one stage there was a "work in progress" counter synthesised that kept track of how many things are still happening.
If that is the case, then doing something like sending an end when the counter gets to zero, an update if it is progress time and there are still tasks and a token active, and a begin otherwise.
As I understand it we do not have enough insight into the work being done via the shake graph, and it is too dynamic, to be able to do more than that.  This should result in a "busy" indicator while there is actually work being done.

The specific question here is what to do when the activity tracked by a progress token is cancelled. The LSP specification doesn't say anything in this regard for server-initiated progress, and it doesn't seem to mandate that every begin is followed by an end.
There is a third alternative, which is to continue reporting on the same token when a kick is restarted. The problem with this option is that progress will no longer be monotonically increasing.
Summarizing the three options:

Model
kick
kick
done

HEAD
begin(1)
end(1),begin(2)
end(2)

this PR
begin(1)
begin(2)
end(2)

3rd alt.
begin(1)

end(1)

The 3rd alternative seems saner.
Does that make sense?

I think monotonic progress is not feasible for ghcide, the graph is too dynamic.  Also, given the speed of processing, I am not sure that showing specific messages (which is what unique tokens gives) adds any value.
According to https://github.com/microsoft/language-server-protocol/issues/923#issuecomment-588146124, the begin is used to allocate resources (in vscode at least), so it seems logical that and end is needed to free them.

FYI here is a screenshot of the very real resources allocated in vscode for progress

These are long running processes doing indexing for erlang.

The resources shared by @alanz suggest that the third alternative is the better one. I'll keep this PR open for further discussion but move it to draft to prevent merging before it is updated.

Updated with my implementation for the third alternative

authors: alanz ndmitchell pepeiborra

repo: digital-asset/ghcide


text:
IGAPP-xx: Go live chatbot munich

This pull request belongs to an issue on our bugtracker.
You can find it there by looking for an issue with the key which is mentioned in the title of this pull request.
It starts with the keyword IGAPP.

Why closed? And is the branch still needed?

Sorry closed by mistake.

repo: digitalfabrik/integreat-app


text:
Translation loop

Sometimes the translations get stuck in an endless loop. Zammad ticket gets updated by the translation, which in turn triggers the translation webhook.

Interestingly, the Zammad Webhook does not include the newly generated messages. That means there is a general trigger as well

The webhook body that gets posted repeatedly:
{
  "ticket": {
    "article_count": 2,
    "article_ids": [
      1104,
      1103,
      1106
    ],
    "checklist_id": null,
    "close_at": null,
    "close_diff_in_min": null,
    "close_escalation_at": null,
    "close_in_min": null,
    "create_article_sender": "Customer",
    "create_article_sender_id": 2,
    "create_article_type": "web",
    "create_article_type_id": 11,
    "created_at": "2024-11-23T07:39:59.753Z",
    "created_by": {
      "active": true,
      "address": "",
      "city": "",
      "country": "",
      "created_at": "2024-06-12T09:47:06.862Z",
      "created_by": "tech@integreat-app.de",
      "created_by_id": 3,
      "department": "",
      "email": "tech+integreat-cms@tuerantuer.org",
      "fax": "",
      "firstname": "Integreat",
      "id": 10,
      "image": null,
      "image_source": null,
      "lastname": "CMS",
      "login": "tech+integreat-cms@tuerantuer.org",
      "mobile": "",
      "note": "",
      "organization_id": null,
      "organization_ids": [],
      "organizations": [],
      "out_of_office": false,
      "out_of_office_end_at": null,
      "out_of_office_replacement_id": null,
      "out_of_office_start_at": null,
      "overview_sorting_ids": [],
      "overview_sortings": [],
      "phone": "",
      "role_ids": [
        2
      ],
      "roles": [
        "Agent"
      ],
      "source": null,
      "street": "",
      "two_factor_preference_ids": [],
      "two_factor_preferences": [],
      "updated_at": "2024-11-23T07:40:27.474Z",
      "updated_by": "tech+integreat-cms@tuerantuer.org",
      "updated_by_id": 10,
      "verified": true,
      "vip": false,
      "web": "",
      "zip": ""
    },
    "created_by_id": 10,
    "customer": {
      "active": true,
      "address": "",
      "city": "",
      "country": "",
      "created_at": "2024-06-12T09:47:06.862Z",
      "created_by": "tech@integreat-app.de",
      "created_by_id": 3,
      "department": "",
      "email": "tech+integreat-cms@tuerantuer.org",
      "fax": "",
      "firstname": "Integreat",
      "id": 10,
      "image": null,
      "image_source": null,
      "lastname": "CMS",
      "login": "tech+integreat-cms@tuerantuer.org",
      "mobile": "",
      "note": "",
      "organization_id": null,
      "organization_ids": [],
      "organizations": [],
      "out_of_office": false,
      "out_of_office_end_at": null,
      "out_of_office_replacement_id": null,
      "out_of_office_start_at": null,
      "overview_sorting_ids": [],
      "overview_sortings": [],
      "phone": "",
      "role_ids": [
        2
      ],
      "roles": [
        "Agent"
      ],
      "source": null,
      "street": "",
      "two_factor_preference_ids": [],
      "two_factor_preferences": [],
      "updated_at": "2024-11-23T07:40:27.474Z",
      "updated_by": "tech+integreat-cms@tuerantuer.org",
      "updated_by_id": 10,
      "verified": true,
      "vip": false,
      "web": "",
      "zip": ""
    },
    "customer_id": 10,
    "escalation_at": null,
    "first_response_at": null,
    "first_response_diff_in_min": null,
    "first_response_escalation_at": null,
    "first_response_in_min": null,
    "group": {
      "active": true,
      "assignment_timeout": null,
      "created_at": "2024-06-12T10:23:07.577Z",
      "created_by": "tech@integreat-app.de",
      "created_by_id": 3,
      "email_address": "Integreat Chat",
      "email_address_id": 1,
      "follow_up_assignment": true,
      "follow_up_possible": "yes",
      "id": 2,
      "name": "integreat-chat",
      "name_last": "integreat-chat",
      "note": "",
      "parent_id": null,
      "reopen_time_in_days": null,
      "shared_drafts": true,
      "signature": "default",
      "signature_id": 1,
      "updated_at": "2024-07-08T13:54:33.338Z",
      "updated_by": "sven.seeberg@tuerantuer.org",
      "updated_by_id": 7,
      "user_ids": [
        10,
        3,
        7,
        11,
        16,
        15
      ],
      "users": [
        "tech+integreat-cms@tuerantuer.org",
        "tech@integreat-app.de",
        "sven.seeberg@tuerantuer.org",
        "daniel.kehne@tuerantuer.org",
        "maria.prem@muenchen.de",
        "christian.krapp@muenchen.de"
      ]
    },
    "group_id": 2,
    "id": 254,
    "last_close_at": null,
    "last_contact_agent_at": null,
    "last_contact_at": "2024-11-23T07:40:00.059Z",
    "last_contact_customer_at": "2024-11-23T07:40:00.059Z",
    "last_owner_update_at": null,
    "note": null,
    "number": "69254",
    "organization_id": null,
    "owner": {
      "active": false,
      "address": "",
      "city": "",
      "country": "",
      "created_at": "2024-01-16T07:13:42.377Z",
      "created_by": "-",
      "created_by_id": 1,
      "department": "",
      "email": "",
      "fax": "",
      "firstname": "-",
      "id": 1,
      "image": null,
      "image_source": null,
      "lastname": "",
      "login": "-",
      "mobile": "",
      "note": "",
      "organization_id": null,
      "organization_ids": [],
      "organizations": [],
      "out_of_office": false,
      "out_of_office_end_at": null,
      "out_of_office_replacement_id": null,
      "out_of_office_start_at": null,
      "overview_sorting_ids": [],
      "overview_sortings": [],
      "phone": "",
      "role_ids": [],
      "roles": [],
      "source": null,
      "street": "",
      "two_factor_preference_ids": [],
      "two_factor_preferences": [],
      "updated_at": "2024-01-16T07:13:42.377Z",
      "updated_by": "-",
      "updated_by_id": 1,
      "verified": false,
      "vip": false,
      "web": "",
      "zip": ""
    },
    "owner_id": 1,
    "pending_time": null,
    "preferences": {},
    "priority": {
      "active": true,
      "created_at": "2024-01-16T07:13:43.706Z",
      "created_by": "-",
      "created_by_id": 1,
      "default_create": true,
      "id": 2,
      "name": "2 normal",
      "note": null,
      "ui_color": null,
      "ui_icon": null,
      "updated_at": "2024-01-16T07:13:43.706Z",
      "updated_by": "-",
      "updated_by_id": 1
    },
    "priority_id": 2,
    "referencing_checklist_ids": [],
    "referencing_checklists": [],
    "state": "new",
    "state_id": 1,
    "ticket_time_accounting": [],
    "ticket_time_accounting_ids": [],
    "time_unit": null,
    "title": "[Integreat Chat] [EN] 43dbe694-aa34-479e-840d-f3014c01d6c0",
    "type": null,
    "update_diff_in_min": null,
    "update_escalation_at": null,
    "update_in_min": null,
    "updated_at": "2024-11-23T07:40:54.109Z",
    "updated_by": {
      "active": true,
      "address": "",
      "city": "",
      "country": "",
      "created_at": "2024-06-12T09:47:06.862Z",
      "created_by": "tech@integreat-app.de",
      "created_by_id": 3,
      "department": "",
      "email": "tech+integreat-cms@tuerantuer.org",
      "fax": "",
      "firstname": "Integreat",
      "id": 10,
      "image": null,
      "image_source": null,
      "lastname": "CMS",
      "login": "tech+integreat-cms@tuerantuer.org",
      "mobile": "",
      "note": "",
      "organization_id": null,
      "organization_ids": [],
      "organizations": [],
      "out_of_office": false,
      "out_of_office_end_at": null,
      "out_of_office_replacement_id": null,
      "out_of_office_start_at": null,
      "overview_sorting_ids": [],
      "overview_sortings": [],
      "phone": "",
      "role_ids": [
        2
      ],
      "roles": [
        "Agent"
      ],
      "source": null,
      "street": "",
      "two_factor_preference_ids": [],
      "two_factor_preferences": [],
      "updated_at": "2024-11-23T07:40:27.474Z",
      "updated_by": "tech+integreat-cms@tuerantuer.org",
      "updated_by_id": 10,
      "verified": true,
      "vip": false,
      "web": "",
      "zip": ""
    },
    "updated_by_id": 10,
    "organization": {}
  },
  "article": {
    "attachments": [],
    "body": "I'm new to Germany and I was born in Egypt. I've studied computer science and want to work as a software engineer in Germany. What do I have to do?",
    "cc": null,
    "content_type": "text/html",
    "created_at": "2024-11-23T07:40:00.059Z",
    "created_by": {
      "active": true,
      "address": "",
      "city": "",
      "country": "",
      "created_at": "2024-06-12T09:47:06.862Z",
      "created_by": "tech@integreat-app.de",
      "created_by_id": 3,
      "department": "",
      "email": "tech+integreat-cms@tuerantuer.org",
      "fax": "",
      "firstname": "Integreat",
      "id": 10,
      "image": null,
      "image_source": null,
      "lastname": "CMS",
      "login": "tech+integreat-cms@tuerantuer.org",
      "mobile": "",
      "note": "",
      "organization_id": null,
      "organization_ids": [],
      "organizations": [],
      "out_of_office": false,
      "out_of_office_end_at": null,
      "out_of_office_replacement_id": null,
      "out_of_office_start_at": null,
      "overview_sorting_ids": [],
      "overview_sortings": [],
      "phone": "",
      "role_ids": [
        2
      ],
      "roles": [
        "Agent"
      ],
      "source": null,
      "street": "",
      "two_factor_preference_ids": [],
      "two_factor_preferences": [],
      "updated_at": "2024-11-23T07:40:27.474Z",
      "updated_by": "tech+integreat-cms@tuerantuer.org",
      "updated_by_id": 10,
      "verified": true,
      "vip": false,
      "web": "",
      "zip": ""
    },
    "created_by_id": 10,
    "from": "Integreat CMS",
    "id": 1103,
    "in_reply_to": null,
    "internal": false,
    "message_id": null,
    "message_id_md5": null,
    "origin_by": "tech+integreat-cms@tuerantuer.org",
    "origin_by_id": 10,
    "preferences": {},
    "reply_to": null,
    "sender": "Customer",
    "sender_id": 2,
    "subject": "app user message",
    "ticket_id": 254,
    "time_unit": null,
    "to": null,
    "type": "web",
    "type_id": 11,
    "updated_at": "2024-11-23T07:40:00.059Z",
    "updated_by": {
      "active": true,
      "address": "",
      "city": "",
      "country": "",
      "created_at": "2024-06-12T09:47:06.862Z",
      "created_by": "tech@integreat-app.de",
      "created_by_id": 3,
      "department": "",
      "email": "tech+integreat-cms@tuerantuer.org",
      "fax": "",
      "firstname": "Integreat",
      "id": 10,
      "image": null,
      "image_source": null,
      "lastname": "CMS",
      "login": "tech+integreat-cms@tuerantuer.org",
      "mobile": "",
      "note": "",
      "organization_id": null,
      "organization_ids": [],
      "organizations": [],
      "out_of_office": false,
      "out_of_office_end_at": null,
      "out_of_office_replacement_id": null,
      "out_of_office_start_at": null,
      "overview_sorting_ids": [],
      "overview_sortings": [],
      "phone": "",
      "role_ids": [
        2
      ],
      "roles": [
        "Agent"
      ],
      "source": null,
      "street": "",
      "two_factor_preference_ids": [],
      "two_factor_preferences": [],
      "updated_at": "2024-11-23T07:40:27.474Z",
      "updated_by": "tech+integreat-cms@tuerantuer.org",
      "updated_by_id": 10,
      "verified": true,
      "vip": false,
      "web": "",
      "zip": ""
    },
    "updated_by_id": 10,
    "accounted_time": 0
  }
}

The status of the webhook responses is 0, not 200. I think the problem is that the webhook runs into its timeout of 30s and therefore retries up to 4 times.

repo: digitalfabrik/integreat-chat


text:
1023: Rename article field in API response

Short description

The app started crashing when opening the vocabulary list because the field article had been renamed to singular_article in the CMS. This renames that field also in the response parser.
Proposed changes

Renamed article to singular_article in useLoadVocabularyItems

Side effects

The app should not crash anymore when opening the vocabulary list.

Resolved issues

Fixes: #1023

thx for the quick fix. Since this should be fixed in the backend, i think the pr can be closed

repo: digitalfabrik/lunes-app


text:
Prefixes /w IPs in different VRFs

Issue type: bug report

Python version:
NetBox version:

Jeremy,
I am honestly not sure if this a bug or should be feature request. I noticed that as I get more IPs into our setup, that a prefix where two VRFs meet, do NOT show all IPs.
For example, in a /30 routed linked between me and a provider the .1 IP would be a part of one BGP ASN and the .2 IP would be a part of another BGP ASN. Not sure what I should do to account for that.

VRFs and ASNs are entirely separate concepts. Prefixes and IPs are grouped by VRF; as in the real world, each prefix or IP can belong to only one VRF (or the global table). The assignment of ASNs has no effect on this.

They are entirely separate concepts, sure. A VRF is just a organization of routes in a routing table.
"As in the real world" .... nice jab thanks.
Umm but multiple IPs, within a given prefix, can be members of different VRFs. A /24 could a 10 IPs in 10 different VRFs. Which is where my question came up. Several /30's in different VRFs within the same /24 prefix.
No idea why I mentioned AS, they had nothing to do with my train of thought.

Hi,
I'm evaluating Netbox 2.2.2 (I think about migrating from Racktables to Netbox), and I have the same issue/request.
I have many prefixes that have /31 or /32 IPs in differents VRFs, and I can't find a way to fit this into Netbox.
I think having to associate a prefix to a VRF is a bit rigid. Maybe adding an option like "Shared across multiple VRFs" would solve this.

@jeremystretch: Can you re-open this?

authors: N-Mi jeremystretch kopacko mvangoor

repo: digitalocean/netbox


text:
Cannot filter virtual machine interfaces

Issue type
[ ] Feature request
[x] Bug report
[ ] Documentation

Environment

Python version: 2.7.5
NetBox version:  2.2-beta2

Description
Not sure if this counts as a bug or a feature request, but as far as I can tell there's no way to filter the /virtualisation/interfaces/ API endpoint?
The only way to determine which interfaces a VM has is to get all the interfaces and iterate over them clientside.

We should probably just ditch the /api/virtualization/interfaces/ endpoint entirely. It's redundant to the DCIM-based endpoint.

That seems reasonable, although it begs the question: should the
/virtualization/ endpoint exist at all? Maybe virtual-machines should
just be part of dcim?
On 6 Oct 2017 20:59, "Jeremy Stretch" notifications@github.com wrote:
We should probably just ditch the /api/virtualization/interfaces/ endpoint
entirely. It's redundant to the DCIM-based endpoint.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/digitalocean/netbox/issues/1557#issuecomment-334855409,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABOQV-2EDiGqpA6uaJ8KE09JOSs4n9TAks5spoalgaJpZM4PtvyY
.

VirtualMachines and Clusters are their own discrete models with dedicated tables in the database, so they need their own endpoints. This is in contrast to the Interface model, which is actually shared by Devices and VirtualMachines.

After pondering this a bit more, it's cleaner to maintain a separate endpoint for VM interfaces. In addition to being more efficient (since the DCIM endpoint only pulls in devices and the virtualization endpoint only pulls in VMs), there's enough difference between the two interface representations to justify separate filters.

authors: hamishforbes jeremystretch


text:
HTTP to HTTPS redirect mix-ups virtual hosts.

Thanks for this amazing tool!
The issue is as following:
If there are two virtual hosts (Server blocks) serving two host names or subdomains:
sd1.domain.com
sd2.domain.com

When the configuration is generated using the nginxconfig and if HTTP to HTTPS redirect is enabled following server block gets generated for each host:
--- For virtual host 1
# HTTP redirect
server {
    listen 80;
    listen [::]:80;
    return 301 https://sd1.domain.com$request_uri;
}

-- For virtual host 2
# HTTP redirect
server {
    listen 80;
    listen [::]:80;
    return 301 https://sd2.domain.com$request_uri;
}

Now when both sites are enabled, and if any request is received over HTTP, the server block which was included in main config file first will be considered, which may result in redirect to a different virtual host over HTTPS. This issue can be easily reproduced.
For example: If request is for http://sd2.domain.com but first redirect server block read by the nginx from config is for sd1.domain.com, then request will be redirected to https://sd1.domain.com as server block does not contain any server_name to distinguish incoming request.
There are two ways in which this issue can be solved:
Either include only one redirect block which redirects to appropriate host:
server {
    listen 80 default_server;
    server_name _;
    return 301 https://$host$request_uri;
}

Or include independent redirect block with server_name:
server {
    listen 80;
    server_name sd1.domain.com;
    return 301 https://sd1.domain.com$request_uri;
}

Attribution: The solution was referred from https://serversforhackers.com/c/redirect-http-to-https-nginx

👍 Good catch. I think the latter option of adding the server_name mydomain.com is the better option here.

When I attempted to reproduce this, the server blocks ended up with the seemingly appropriate server_name items.  This seems like it is a duplicate of #160, though I'm not sure how since that was closed in July.  Perhaps I misunderstood something?

@RytoEX Indeed the issue is identical to #160, for which I think appropriate code is implemented but it is not reflected in hosted version on Digitalocean. Strangely though, the configuration link you shared has HTTP to HTTPS redirect section completely missing from both virtual hosts (See image). There is just a comment # HTTP redirect. I confirmed it by downloading the config archive also.
@MattIPv4 Here is the link link. But redirect is missing in this config also. Which wasn't the case when I previously created config. I think the hosted code has been updated after that.

The HTTP redirect sections were definitely present and looked proper when I last tested this.

It seems that now the HTTP redirect section only shows up if you enable "Redirect subdomains".  I would guess that something in https://github.com/digitalocean/nginxconfig.io/commit/40aed640340b9b1ab65fa3fb5492c4445a14877c has thrown this off.

I've filed #180 to address the newly discussed issue above.  I did not use a "close" keyword because I think the original issue here has been resolved, and the newly discussed issue is a separate matter.

Tyvm @RytoEX!
@markandpathak how're things looking now if you force refresh the page to get the latest version of the tool?

Tyvm @RytoEX and @MattIPv4. Everything seems working perfectly now.

👍 Sweet, will close

authors: MattIPv4 RytoEX markandpathak


text:
Add yesNo react component

Short Description
To reactify the StepSteuernummer we need to add some components in React. One is the YesNo component. I based the design on this document in Figma and talked to Nadine. It adapts also a little how the YesNo component behaves because we had some small legacy
Changes

Add YesNo component
Add YesNo story
Adapt the switch-yes/switch-no classes a little bit

Feedback

Does this make sense to you?
Is there anything that I missed while reactifying?

Looks great, but I think this component lacks unit tests for:

checking that toggling works as intended
checking that the change handler is called as expected

I agree. I have added these tests and I have also added tests for the interaction via the keyboard as recommended in #336 because I think it makes sense here, too. I had to update the testing library for that.

Oh, and I agree on your assessment re: duplication. Any idea I would have for deduplicating those tests would make them less readable and maintainable, not more.

I reconfigured SonarCube to exclude JS tests from duplication checks, so your next commit should resolve the quality gate failure - let me know if it doesn't!

authors: JulianRoesner nfelger


text:
🛑 Agora is down

In 7bde307, Agora (https://agora-oegd.de) was down:

HTTP code: 0
Response time: 0 ms

@zechmeister
I was checking through ping, it's kind of weird though

Unfortunately Ping is not allowed at agora-oegd.de 🙄. Curl looks good tho?

Resolved: Agora is back up in ea8de38.

authors: nfelger pgurusinga zechmeister


text:
Added Functionality to add events to Google Calendar

Fix Issue: #481

Here is the updated code for adding events to google calendar for Card and Individual Contest cards.
Also it is responsive
Timezone error of gmt+5:30 fixed✅

https://www.loom.com/share/6f3a4e5f860548448eecf5c544291508

Summary by CodeRabbit

New Features

Added Google Calendar integration with buttons to add events directly from the app.

Style

Updated button design with a smaller icon for a cleaner look.

@all-contributors please add mukundsolanki for code

Thank you for adding the feature!

repo: digitomize/digitomize


text:
feat: Programs section on About Page

Pull Request Details
Description
This pull request adds a marquee on the about page which shows which programs Digitomize has been a part of. The timeline is also updated and the statistics are updated
Fixes
This pull request fixes #537.
Type of PR

[ ] Bug fix
[x] Feature enhancement
[ ] Documentation update
[ ] Refactoring
[ ] Other (specify): _______________

Summary

Program component

Added a Program component which renders a list of programs as cards in a marquee component.

Timeline

Added more milestones reached by Digitomize to the timeline on about page.

About Page

Added the Programs component.
Updated and changed position of statistics.

Assets

Added logos for programs we've been a part of.
Updated client/src/pages/about/assets/assets.jsx and added exports for the logos.

Screenshots

Additional Notes
N/A
Checklist

[x] I have read and followed the Pull Requests and Issues guidelines.
[x] The code has been properly linted and formatted using npm run lint:fix and npm run format:fix.
[x] I have tested the changes thoroughly before submitting this pull request.
[x] I have provided relevant issue numbers, snapshots, and videos after making the changes.
[x] I have not borrowed code without disclosing it, if applicable.
[x] This pull request is not a Work In Progress (WIP), and only completed and tested changes are included.
[x] I have tested these changes locally.
[x] My code follows the project's style guidelines.
[x] I have updated the documentation accordingly.
[x] This PR has a corresponding issue in the issue tracker.

Summary by CodeRabbit

New Features

Introduced a new Programs component on the About page to showcase open source programs Digitomize has participated in, utilizing Card and Marquee components.
Added a Link component for navigation within the app.
Added declarations for program logos (kwoc, iwoc, tublian, swoc, gssoc) in the assets.jsx file.

There are changes in package files, these are not required.

There are changes in package files, these are not required.

I accidentally added those changes to the commit. Fixed the issue.

@all-contributors please add shashwatshrma for code

@holopin-bot @shashwatshrma c-ch


text:
Compiling errors when using the command

HI dear author,
It's truly a honor to write a letter to you,  I'm build your project nowadays and found the error when building as following, I wonder if there is a chance that you know the reason? :)

thank you
best regards to you
William

Since these are the same issues please avoid creating duplicate issues on other repositories. Thanks :)

authors: WilliamWangPeng diharaw

repo: diharaw/GPUParticleSystem


text:
Empty year

If only one print is recorded, an empty year is shown in the published item view table.

Apart from that, the axes of the graph are drawn but remain empty.


text:
How to share post as a story

I want to add my uploaded posts into story . Is there any function to do that?

I am Trying to find the option.

+1

+1

+1

authors: Ram-Moudgill imkrunal itsjustgurjit pishguy rdmn

repo: dilame/instagram-private-api


text:
Workflow and sequence of tasks

Having feedback_required errors from the  very beginning, I need to know what should i do before calling ig.account.create? I tried using ig.simulate.preLoginFlow() as copycatting the example provided in Readme.md but that didn't work.
this is the code I use to signup:
import { IgApiClient } from './src';

(async () => {
    const ig = new IgApiClient();
    ig.state.generateDevice('blah1231321');

    ig.simulate.preLoginFlow();

    const myU = {
                username: 'blah1231321',
                password: 'blah2311@@',
                email: 'blah@gmail.com',
                first_name: 'blah',
            };

    const resp = ig.account.create(myU);
    console.log(resp);
})();

And I also use 3 different IPs with different info as signup information.
Interesting thing is that this creates the account but it gets banned in a millisecond! maybe I should login right after this? or simulate something that I'm too noob to know?

I heard that creating accounts through the API is very unstable now. Not sure how it is done in the mobile apps though. But I'd advise you to use Puppeteer in order to create accounts, then connect them into your software using this library.

Thanks a lot for the answer @Annatsu

I heard that creating accounts through the API is very unstable now. Not sure how it is done in the mobile apps though. But I'd advise you to use Puppeteer in order to create accounts, then connect them into your software using this library.

Hi,
it is also not possible to use puppeteer, I think signup through instagram website disabled ! I've tried and coulnd't find anything ! can you help me with this ?

I can't give you the exact code I used since I don't own it anymore, but I can give you some directions and general advice.
Use puppeteer-extra together with puppeteer-extra-plugin-stealth to remove traces of automation from your Puppeteer's browser and then just try creating an Instagram account through your usual browser while annotating all of the HTML elements that need to be filled out and handled during sign up.

authors: Annatsu SamimSdz profmamad


text:
After sometime of accessing the oldtweetdeck it is redirecting me to this url https://x.com/i/tweetdeck

Include version of extension. Make sure you're using last version before submitting a bug report! Check releases page before reporting anything!

Hello @barmanshantanu
1stly, please read issue template. please include your version and etc. next time.
2ndly, this is intended behavor I think.
Did you read the readme?

Hello @barmanshantanu 1stly, please read issue template. please include your version and etc. next time.
2ndly, this is intended behavor I think. Did you read the readme?

Katabame,
being nasty towards barmanshantanu is not helpful.  I have tried versions 3.6.4 and 3.6.5 according to your instructions in the past hour and neither work.  Instead of just blaming us, some friendly advice would appreciated.

Thanks

Hello @barmanshantanu 1stly, please read issue template. please include your version and etc. next time.
2ndly, this is intended behavor I think. Did you read the readme?

Katabame,
being nasty towards barmanshantanu is not helpful.  I have tried versions 3.6.4 and 3.6.5 according to your instructions in the past hour and neither work.  Instead of just blaming us, some friendly advice would appreciated.

Thanks

then what can I say? not reading readme and issue template, no detailed information, no reproduce steps.
tons of people doesn't read readme or issue template, and similar issue is opened long ago. which means didn't search anything about related topic.
so then I just mentioned about issue template and readme, if isn't solved by that, you can just another comment with more detailed description.
blaming me is also not helpful isn't it? if I'm dimden you didn't say about like that.

Katabame,
The other day I was frustrated and wasn't nice to you.  I am sorry
On Thu, Jul 11, 2024 at 6:36 PM 本田珠彩 @.***> wrote:

Hello @barmanshantanu https://github.com/barmanshantanu 1stly, please
read issue template. please include your version and etc. next time.
2ndly, this is intended behavor I think. Did you read the readme? [image:
image]
https://private-user-images.githubusercontent.com/9818101/346473956-1d702d02-6fb6-4632-8809-ab03d5c754af.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjA2MzUxNzYsIm5iZiI6MTcyMDYzNDg3NiwicGF0aCI6Ii85ODE4MTAxLzM0NjQ3Mzk1Ni0xZDcwMmQwMi02ZmI2LTQ2MzItODgwOS1hYjAzZDVjNzU0YWYucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDcxMCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA3MTBUMTgwNzU2WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ZTM2NjdkOWZjNDhjMmViYzI2Zjk2ODA4ZDZhYjMwYjM5ZDg3N2Q3NWM3NzczNzc1NjRjNjJmYmIyZjgxNzBjYSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.rgdxa0ldt1WR2XULIk4HJ8V-FmjOFe3XrcsrP5tyCng
Katabame,
being nasty towards barmanshantanu is not helpful.  I have tried versions 3.6.4 and 3.6.5 according to your instructions in the past hour and neither work.  Instead of just blaming us, some friendly advice would appreciated.
Thanks
then what can I say? not reading readme and issue template, no detailed
information, no reproduce steps.
tons of people doesn't read readme or issue template, and similar issue is
opened long ago. which means didn't search anything about related topic.
so then I just mentioned about issue template and readme, if isn't solved
by that, you can just another comment with more detailed description.
blaming me is also not helpful isn't it? if I'm dimden you didn't say
about like that.
—
Reply to this email directly, view it on GitHub
https://github.com/dimdenGD/OldTweetDeck/issues/305#issuecomment-2224068095,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BBFBS4PJL47JUBX2M4EWEJLZL4CIJAVCNFSM6AAAAABKQIDJMOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMRUGA3DQMBZGU
.
You are receiving this because you commented.Message ID:
@.***>

authors: barmanshantanu ericwc30060 katabame

repo: dimdenGD/OldTweetDeck


text:
🛑 Fullhauz is down

In 686da9a, Fullhauz (https://fullhauz.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Fullhauz is back up in 63fe4c1 after 5 minutes.

repo: dimitrovleonardo/accesco


text:
Laravel 5.2 empty translations table

I'm trying to insert some data:
$data = [
  "en" => [
    "title" => "1",
    "description" => "
1
"
  ],
  "ru" => [
    "title" => "2",
    "description" => "
2
"
  ],
  "ka" => [
    "title" => "3",
    "description" => "
3
"
  ],
  "slug" => "1",
  "logo" => "uploads/store/1453042305.png"
];

in table named providers using my Provider model's create method. But only providers table is getting filled, provider_translations table is empty.
Here is my files:
\App\Provider.php:
<?php

namespace App;

use Dimsav\Translatable\Translatable;
use Illuminate\Database\Eloquent\Model;
use App\Translations\ProviderTranslation;

class Provider extends Model
{
	use Translatable;

	/**
	 * @var bool
	 */
	public $timestamps = false;

	/**
	 * @var array
	 */
	public $translatedAttributes = [
		'title',
		'description',
	];

	/**
	 * @var array
	 */
	protected $fillable = [
		'slug',
		'cover',
		'logo',
	];

	/**
	 * @var
	 */
	public $translationModel = ProviderTranslation::class;
}

App\Translations\ProviderTranslation.php:
<?php

namespace App\Translations;

use Illuminate\Database\Eloquent\Model;

class ProviderTranslation extends Model
{
	/**
	 * @var bool
	 */
	public $timestamps = false;

	/**
	 * @var array
	 */
	protected $fillable = [
		'title',
		'description',
	];
}

I have tried Saving translated attributes instruction from Readme.md but i'm getting same result. Can anyone help me?

Same with me. After updating to 5.2.11!

I just struggled with this too. I don't know why (probably because previously I was using another package), but I didn't assign the translatable fields in the main model, but you must do that this to work.
Read again the README: https://github.com/dimsav/laravel-translatable#step-3-models
So, in your case in the class Provider must include also translatable fields in the $fillable property!
Replace this
protected $fillable = ['slug', 'cover', 'logo'];

with this
protected $fillable = ['slug', 'cover', 'logo', 'title', 'description'];

By the way, I'm using Laravel 5.2.14.

Thanks, I will try it. ;)

@zgabievi can we close this?

Yeap close it. Thank you

authors: dimsav lotestudio taai zgabievi

repo: dimsav/laravel-translatable


text:
Scopebox Geometry not working in Dynamo 2.10(revit 2022)

in the codeblock, line 4 -  "Sorted list" needs to be changed to "sortedList" in order to work

thanks for spotting this. The dynamo team changed it without warning.

repo: dimven/SpringNodes


text:
Bytes

Here are the EncodeBytes and DecodeBytes functions I was talking about. These are proposals. More specifically, I'm not sure the meaning of the funcs should not be changed, take a look at the "failing" tests -> a given input won't give the same if passed in Encode then Decode, when there are "leading zeroes". Thinking of it, the same is true of your initial funcs, but it feels natural that "0010" -> some_hash -> "10" whereas on bytes buffers, it's... sort of strange. Meanwhile, the first 2 commits are still general optimizations, you might want to merge those anyway (c7484f6 and dffbeba).

Thinking of it, an alternative would be to make public the encodeInt & decodeInt funcs (EncodeInt and DecodeInt), it happens I have some personnal usage for those funcs and the wrapping done by EncodeBytes and DecodeBytes might be sort of confusing. And besides, it's very easy to implement through big.Int Bytes and SetBytes methods. What do you think ?

@ufoot - Sorry for responding late. I was in vacation.  I didn't have time to go through this. I will go through the change and update by tomorrow.

@ufoot  - Back from vacation. Thanks for the pull request. I do feel the same about EncodeBytes and DecodeBytes functions. We can easily convert to bytes.  It would be really great if you could elaborate your use case for EncodeInt and DecodeInt. That will be helpful for me too. We can confirm the functions and reorganize the code for EncodeInt and DecodeInt.

OK. will look through it, I keep you informed.

https://github.com/dineshappavoo/basex/pull/8 meanwhile I try to "elaborate" my use case. But AFAIK it amounts to : I need to do exactly what you do with your module, but I do not have inputs as "1000343445435668" but as "a big.Int the value of which is 1000343445435668".

I merged the other pull request for EncodeInt and DecodeInt.  As we discussed earlier, It is better to have EncodeInt instead EncodeBytes. The consumer can easily convert int to bytes. I think we can close this pull request. Please confirm.

Yes, this one should be closed, no doubt.

authors: dineshappavoo ufoot

repo: dineshappavoo/basex


text:
Support projects that build with cabal instead of stack

We should be able to detect this by the absence of a stack.yaml file, if I understand how this works correctly.

Risky, without cabal.project being present.

And sometimes there could be both, together with some nix configs if a developer is extra resourceful.

Risky how? I don't use cabal alone much since moving to stack years ago but I thought lately it does the nix-style local builds even without a cabal.project. But I don't really know and will get reading and experimenting.
As for nix, I wonder if people using nix would likely not need this hsinstall deployment-tree tool to begin with, relying on nix to do such things. Not really sure how people use nix.

"Risky" as in "attempts to build with some crazy package set, putting garbage everywhere".

authors: dino- dpwiz

repo: dino-/hsinstall

license: ISC


text:
No aarch64 arch

There appear to be only amd64 deb packages... No mention of aarch64 etc...
Can this be enabled?
thx!

I already tried: https://github.com/dionysius/vaultwarden-deb/discussions/2
You can build the package yourself using the instructions in the README. It seems it has built in the past

Github seems to release github-hosted arm runners by end of this year. This should make building times flawlessly fast compared to cross-compiling. If anyone is interested I'd happily review a PR to my package building workflow repo and the workflow in this repo. But since I've no arm-device I cannot test the development and the ongoing package updates, so I can't verify the reliability on those builds.

Update: https://github.com/github/roadmap/issues/970

Status: Q1 2025 – Jan-Mar

authors: dionysius dnmvisser

repo: dionysius/vaultwarden-deb


text:
Add azure storage api for duplicity

ERROR - Unattented error occur : Error when run cmd duplicity  --volsize 5000 --no-encryption --allow-source-mismatch --full-if-older-than 7D /backup azure://rancher-backup/ :
BackendException: Azure backend requires Microsoft Azure Storage SDK for Python (https://pypi.python.org/pypi/azure-storage/)

It works for me currently with the command attribute: /bin/bash -c "pip install azure.storage==0.20.0; /init"

Hi, Thx for your contribute. I can't merge your PR because of you have used the master branch instead the develop branch.
But I have added "azure" on requirement.txt on develop branch. Can you try the develop image (webcenter/rancher-backup:develop) ?

Merge the newer PR


text:
Blue Coat talk

Hi,
regarding my Blue Coat talk, I could present it (almost unchanged) months later at Ruxcon and Black Hat Europe
see https://syscall.eu/ for slides and video link

However, as of 2021-04-14, the researcher confirmed that he was able to present the talk months later at Ruxcon and Black Hat Europe. See https://github.com/disclose/research-threats/issues/8 and the slides & video are available at https://syscall.eu/
How does that sound? Also thank you for helping us keep it up to date!

authors: sickcodes trou

repo: disclose/research-threats


text:
[Unit Tests] Handlers: CHANNEL_CREATE

Need to make a unit test for CHANNEL_CREATE handler

How do you want to do unit tests for handlers? EG for this specific handler the createChannel function already adds the channel to the cache so we need a different way to test.

repo: discordeno/discordeno


text:
[Unit Tests] Helpers: suppressEmbeds

Need to make a unit test for suppressEmbeds helpers

https://github.com/discordeno/helpers-plugin/issues/3


text:
Move @types/ws to dev dependency, upgrade patch version

Please describe the changes this PR makes and why it should be merged:
@types/ws appears in final production install because it's marked as a regular dependency here.
Status and versioning classification:
Patch

Code changes have been tested against the Discord API, or there are no code changes

This is intended.

authors: JMTK iCrawl

repo: discordjs/voice


text:
Feedback from Beef Broccoli#5067

From Beef Broccoli :
add a 'distro' channel to discuss things like x vs y distribution so something else can be discussed in <#96230004047740928>

From Faith | Am Girl! :
This really would be pointless, tech suffices for distro discussion and a dedicated debate channel would end up with arguments and people whining going dEbAte meE! Close?

I guess the point would be to have a channel for discussing tech other then linux distributions.

From Faith | Am Girl! :
That's what tech is for. That's it's entire purpose, discussion of everything related to technology.

authors: DiscordLinuxBot kmmiles

repo: discordlinux/feedback


text:
dependency "github.com/ulikunitz/xz @0.5.6" has govuln GO-2020-0016, CVE-2021-29482

The upstream issue is https://github.com/ulikunitz/xz/issues/35 and the issue is resolved in ulikunitz/xz @0.5.8 and above.
The advisory at https://github.com/ulikunitz/xz/security/advisories/GHSA-25xm-hr59-7c27 reads:

The function readUvarint used to read the xz container format may not terminate a loop provide malicous input.

Found with deps.dev at https://deps.dev/go/github.com%2Fdiskfs%2Fgo-diskfs/v1.2.0
The most likely recommendation is to bring the dependency up to the current release. Risk seems low, as this fix has already been implemented by hashicorp/go-getter#279 and rhysd/go-github-selfupdate#36

see https://github.com/diskfs/go-diskfs/blob/8a6b8b88d14a164cb914108d3cd829d9a67595a0/go.mod#L17 for the go.mod import line.

Open a PR? It is a pretty simple change.

PR submitted. I updated the go.mod file and did go mod tidy to refresh everything.
The piece of the system that should be tested as a consequence of this PR is the squashfs section.

authors: deitch vielmetti

repo: diskfs/go-diskfs


text:
Deleting an image from a repo with a large number of tags can be very slow

Issue with current implementation.
Currently as part of the image delete flow, we find all the tags in the given repository and then do a Lookup to work out if the tag currently points to the digest we are trying to delete. If a repository has many tags this can cause delete calls to be very slow. Had a recent real-world example where it takes >30s to delete an image with ~5000 tags.
I haven't see this in the wild but I also believe this introduces a large window where a race can occur. The race would be:

Tag test1 points at the digest we wish to delete.
test1 added to the delete slice.
Whilst we are still working on looking up all the other tags, a push is done over the test1 tag that changes the digests.
test1 is deleted.

The loop that then untags each tag that references the Digest we wish to delete is also done sequentially.
https://github.com/distribution/distribution/blob/6248a88d03badbe49c4969f802f5860b6fb2a685/registry/handlers/manifests.go#L542
Proposed solutions
There are a couple of ways we can fix this:

The simple solution is to just add concurrency - so we can make it so the code can do x number of tag lookups and Untags in parallel. The extra speed will close the window in which the race can occur.

The more complex solution would be to do solution 1 but in addition instead of appending the tags marked for Untag to a slice we add them to a channel. This channel can be consumed by a go routine that would then immediately call Untag and thus making the window for the race very small.

Open to suggestions on whether people think 1 is good enough or if we/I should look at solution 2? Always wary of adding complexity to code for a theoretical problem that we are unlikely to see in reality.

Both suggestions sound good to me. We already do goroutine dance similar to 2. in some storage drivers (like here), so I wouldnt see it as introducing huge amount of complexity. I'd go for 2.

I prefer the option 1, parallel deletion is enough for this case, we can just have another goroutine to collect the errors from error chan, and the error is raised by Untag in parallel deletion.

repo: distribution/distribution