If data samples contain a Python list with a variable number of elements, type inference will fail

🐛 Bug
When optimizing a dataset, BinaryWriter.serialize() will first flatten the sample dictionary and infer the type of each element. Then it will assume that all data samples have the same types and the same number of elements. If a list contains a variable number of elements, the type information will be incorrect for subsequent data samples. This is not documented and can cause some confusion.
To Reproduce
When storing the data in NumPy arrays, there's no problem, because each array is considered as one element in the flattened type list. So this works:
import numpy as np
from PIL import Image
import litdata as ld

def random_images(index):
    fake_images = Image.fromarray(np.random.randint(0, 256, (32, 32, 3), dtype=np.uint8))
    num_labels = np.random.randint(10)
    fake_labels = np.random.randint(10, size=num_labels)

    # use any key:value pairs
    data = {"index": index, "image": fake_images, "class": fake_labels}

    return data

if __name__ == "__main__":
    # the optimize function outputs data in an optimized format (chunked, binerized, etc...)
    ld.optimize(
        fn=random_images,                   # the function applied to each input
        inputs=list(range(1000)),           # the inputs to the function (here it's a list of numbers)
        output_dir="my_optimized_dataset",  # optimized data is stored here
        num_workers=4,                      # The number of workers on the same machine
        chunk_bytes="64MB"                  # size of each chunk
    )

When storing the data in a Python list, the type of each list element is inferred separately. If a list contains a variable number of elements, the type information of one sample is not useful for other samples. Now, if we add an element that has a different type (say, a string) after a variable-length list, the function will crash:
def random_images(index):
    fake_images = Image.fromarray(np.random.randint(0, 256, (32, 32, 3), dtype=np.uint8))
    num_labels = np.random.randint(10)
    fake_labels = np.random.randint(10, size=num_labels).tolist()
    name = "name"

    # use any key:value pairs
    data = {"index": index, "image": fake_images, "class": fake_labels, "name": name}

    return data

The error:
Rank 0 inferred the following `['int', 'pil', 'int', 'int', 'int', 'str']` data format.                                                                                | 0/1000 [00:00<?, ?it/s]
Rank 1 inferred the following `['int', 'pil', 'int', 'int', 'int', 'str']` data format.
Worker 1 is done.
Traceback (most recent call last):
  File ".../example.py", line 20, in <module>
    ld.optimize(
  File ".../lib/python3.12/site-packages/litdata/processing/functions.py", line 432, in optimize
    data_processor.run(
  File ".../lib/python3.12/site-packages/litdata/processing/data_processor.py", line 1055, in run
    self._exit_on_error(error)
  File ".../lib/python3.12/site-packages/litdata/processing/data_processor.py", line 1119, in _exit_on_error
    raise RuntimeError(f"We found the following error {error}.")
RuntimeError: We found the following error Traceback (most recent call last):
  File ".../lib/python3.12/site-packages/litdata/processing/data_processor.py", line 665, in _handle_data_chunk_recipe
    chunk_filepath = self.cache._add_item(self._index_counter, item_data_or_generator)
  File ".../lib/python3.12/site-packages/litdata/streaming/cache.py", line 134, in _add_item
    return self._writer.add_item(index, data)
  File ".../lib/python3.12/site-packages/litdata/streaming/writer.py", line 305, in add_item
    data, dim = self.serialize(items)
  File ".../lib/python3.12/site-packages/litdata/streaming/writer.py", line 179, in serialize
    self._serialize_with_data_format(flattened, sizes, data, self._data_format)
  File ".../lib/python3.12/site-packages/litdata/streaming/writer.py", line 210, in _serialize_with_data_format
    serialized_item, _ = serializer.serialize(element)
  File ".../lib/python3.12/site-packages/litdata/streaming/serializers.py", line 347, in serialize
    return obj.encode("utf-8"), None
AttributeError: 'int' object has no attribute 'encode'

Expected behavior
It should be documented that every data sample must have the same elements and every list must be the same size.
I wonder if caching the data types is necessary. Afterall, the optimize() call doesn't have to be that fast. If the data types were instead inferred for every sample separately, it would be possible to use variable-length lists.
Would it make sense to at least check in BinaryWriter.serialize() that self._data_format has the same number of elements as the data sample?
Environment

PyTorch Version (e.g., 1.0): 2.3.1
OS (e.g., Linux): Linux
How you installed PyTorch (conda, pip, source): pip
Python version: 3.12.3

Hey @senarvi,
Would you mind making a PR to add a note in the README about this ?
Additionally, we could consider adding placeholder to tell LitData to not de-composed the pytree too deep. Like a List or Dict object that would be serialized as its own.

Here's a PR with some documentation changes: https://github.com/Lightning-AI/litdata/pull/264
I didn't quite understand how the placeholder would work.

Hey @senarvi,
I was thinking something like this.
from litdata.types import List, Dict

def fn(...):

	return {"list": List([...])}

This way, the pytree won't be decomposed and the list would be encoded as single element.

@tchaton something like that could be an elegant solution. I guess then you need to write a serializer for the Placeholder class. Was your idea that all the elements of List would have a specific data type?

Yes, we could have something smart for it if we want to. Would you be interested into contributing such feature ?

I don't have the possibility at the moment. I was able to easily work around the problem by using NumPy arrays instead of Python lists. Now I'll have to move on and get something working to see if this framework is suitable for us.

Hey @senarvi. Thanks for trying LitData, let me know how it goes ;)


Terminology in Preferences not matching online docs, difficulty finding things in Settings

VSCode Version: 1.19.1
OS Version: Windows 10 Pro 64-bit

Steps to Reproduce:

Type a bunch of text inside an html file.
Get annoyed when you hit Enter or Tab thinking you're going to a new line or adding an indent when instead the word you just typed changes to the auto-suggested word from the drop-down.
Do a web search trying to figure out how to disable this or what it's even called.
Find a VS Code page about IntelliSense using terminology and phrases describing features that aren't named the same way in Preferences, Settings, or Keymap - such as "quick info" for Ctrl+Space, which isn't in the Settings json and is called toggleSuggestionDetails in Preferences > Keymap.
Get even more frustrated that you can't copy just the Ctrl+Space Command name in Keymap to try to find it in Settings, it instead copies the whole setting block.
After chopping out all of that copied setting block to search Settings just for toggleSuggestionDetails, discover it's not even there anyways.
Post a GitHub issue about UX-unfriendliness and time-burning difficulty of trying to figure out VS Code settings because there's just no user forum.

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

Just as example: Ctrl+Shift+O is called "Go to Symbol in File..." in VS Code (Ctrl-K Ctrl-S to verify it), but it's name in docs is "Quick Outline":

... open Quick Outline by pressing Ctrl+Shift+O

Also, if you go to Menu > Help > Keyboard Shortcut Reference, in the PDF you will see this:

Ctrl+Shift+F - Show Search (actually it should be named "Search in files")
Ctrl+Shift+H - Replace in files (it's okay)
Ctrl-T - Show all Symbols (actually it should be named "SEARCH for Symbols ACROSS FILES")

The search one is ok, it refers to the "View: Show Search" command.
I think the others could be updated, especially "Quick outline" which might be an outdated term. Is that right @mjbvz?

@roblourens Yes, Ctrl+Shift+F is for "View: Show Search" command, but:

It's also for "Search: Find in Files" command
Currently it's description is inconsistent with description of Ctrl+Shift+H
"Search in Files" is more informative for the user.

There is a command for each viewlet to show the viewlet. In the keyboard reference they are just listing all those commands. I think it makes sense. I don't think anyone will be confused by what "show search" could possibly mean.

Do you think there's anything to do here @mjbvz?
https://github.com/Microsoft/vscode/issues/41158#issuecomment-357043415
https://github.com/Microsoft/vscode/issues/41158#issuecomment-378046287


logo and pdf invoice

Error
FPDF error: Interlacing not supported: http://netengi.com/assets/templates/site/image/logo.png

Also it is necessary to extend tPDF class - https://github.com/boxbilling/boxbilling/commit/f1ffd00467274b470eac62d40c3e48dcaab33061


Add a unit tests workflow for sdk-release-tests

For tracker story #183164582
This PR will add unit tests as github actions, so that we have a flow we can use later to add MySQL tests.

This PR now duplicates all the functionality of the unit tests in concourse, so we're happy to merge.
In a future PR, we will likely remove the duplicate unit tests from concourse.


Gpu Details card looks weird

Description
Gpu Details card looks weird in  dedicated machines page.
Must include any relevant identifiers like:

Mainnet: backend ninja

Steps to reproduce

Open https://dashboard.bknd1.ninja.tf/ and navigate to dedicated machines then filter with GPU.

Logs/Alerts

What is the use of the scrollbar here?

scrolled left and right and wasn't used to show anything?

What is the use of the scrollbar here?
scrolled left and right and wasn't used to show anything?

Not reproducible .

Verified, Mainnet 2.3.0.
The GPU card details are shown normally.


Small hack to allow use with server side rendering

Nice!  I'll add a typeof global check as well, just to be safe.  :)

Awesome, thanks!
I am not sure if there is something better that could be done here on the server, but in my case when the client attaches it shows the error perfectly.


Proposal: Interfaces should allow duplicated members

Allow duplicated members in multiple interface declarations, as long as they are identical. Optional compiling warnings are acceptable, to assist developers to remove redundant codes at convenient time.
This should not generate any errors, example:
shim.d.ts
interface Symbol {
    toString(): string;
    valueOf(): Object;
    [Symbol.toStringTag]: string;
}

es6.d.ts
...
interface Symbol {
    /** Returns a string representation of an object. */
    toString(): string;

    /** Returns the primitive value of the specified object. */
    valueOf(): Object;

    [Symbol.toStringTag]: string;
}
...

I do not think we need a new issue for this. issue #3215 seems like a fine place to keep the discussion going.


Project File crashing frequently

Project File crashing frequently after every blueprint Execution it crash

You mentioned in another GitHub issue that you were using the 5.2 version of the plugin on Unreal 5.3. Is this the case here, or are you using the 5.3 version?

Hi @Devesh2372002,
I'm closing this issue due to inactivity. If this is still an issue for you, please reopen with a response to @azrogers 's question above. Thank you!


Previously viewed result shows briefly on results page before loading actually selected result

Description

When navigating between the search results and single-result page, sometimes you'll land on a single-result page for the item you previously viewed the single-result for, not the item you most recently clicked on in the search results.
This is kind of hard to describe but following the repro steps below should make it clear what the problem is.
This also appears to be a recent regression in the frontend as I cannot reproduce it on the currently deployed version at wp.org/openverse. This also happens both with npm run dev and npm run build && npm run start (i.e., it's not a dev SSR issue as far as I can tell).
Reproduction

Run the main branch using npm run dev and navigate to http://localhost:8443/search/image?q=galah&license=cc0,pdm
Click on the first result and let the result page load. Note the result image you clicked on.
Use the browser back button OR the "back to search results" button (bug is revealed through either path) to navigate back to the results page
Select another image and pay close attention to the single-result page as it loads
Notice that the previously selected result is still present on the single-result page for a split-second before the result you most recently clicked on is loaded in.

You can easily reproduce this as many times as you want with any result. Note that for any result you select, if you've previously selected in in the same browser session, it will load more quickly than a totally "fresh" result that you've never seen the single result page for.
Expectation
The single result page should show nothing or (ideally) should render the thumbnail as a placeholder for the full-res image. At no point should the single-result page show any other image than the one that was most recently selected from the search results page.
Screenshots

https://user-images.githubusercontent.com/24264157/145840275-47f49c8c-6390-4a87-a8ec-7d4c0770d7cc.mov
Notice here you can see the first three images I toggle between load relatively quickly, the pop-in of the selected image over the stale image isn't that noticable (but still jarring to anyone who does notice it). However, the last two images I select take much longer to load as they are totally fresh images that I hadn't loaded during by browsing session yet. This is the most common path and it is markedly worse!
Resolution

[ ] 🙋 I would be interested in resolving this bug.

Oh no! I was so proud when I came up with the "use the already-loaded thumbnail as the initial image" idea haha, I'd love to see this fixed.


package directory structure...

...is non-existent. I had to create it myself.

?

Feel free to re-open and clarify what the issue is, this just looks like noise.

Ah, sorry. I was in a hurry doing something else after I'd fixed it and just continued typing the rest starting from the issue title. The directory structure for the package items don't have directories for the package names you set up for some of the files. So when you go build it breaks. I had to go make directories with the names of the packages you set up in the source files, and then copy the files to those directories before it would work.


Inner class names aren't detected detected as mappings.

For example :
public class SomeOuterClass.SomeInnerClass {
    ...

This is not detected as SomeOuterClass$SomeInnerClass. However, they can still be renamed by loading a mappings file.

Fixed in https://github.com/Col-E/JRemapper/commit/335d33957bc6d165389b26228135c9ef5bfc0a66
It's an important thing to note though that when renaming a inner class you do not need to specify the full class prefix. If you want package/SomeClass$Inner to become package/SomeClass$Apple all you need to do is replace the name in the text area with Apple instead of package/SomeClass$Apple.


Yaml getting stripped

We're stuck at version 1.6.5 because of Rails 2...I know it's probably no very well supported any more, but I was hoping someone could offer some insight. We're on Ruby 1.9.3 and have the following specified in the app:
  YAML::ENGINE.yamler= 'syck'

reify works on some of our models, but not others. I tracked it down to the fact that, when the object gets in to the database, it looks like this:
--- \naccount_id: 1\ncached_tag_ids: \ncompany_id: \ncompany_name_d: \"\"\nconverted_at: \ncreated_at: 2014-12-12 14:28:47 Z\nwork_postal_code: \nwork_state:"

If from a Rails console, I run person.attributes.to_yaml (the same thing the get seems to be doing, I get:
--- \naccount_id: 1\ncached_tag_ids: \ncompany_id: \ncompany_name_d: \"\"\nconverted_at: \ncreated_at: 2014-12-12 14:28:47 Z\nwork_postal_code: \nwork_state:  \n"

Notice the ending  \n that's missing from the object in the database. I've experienced the same thing on 2 different models and it doesn't appear to be related to the number of characters, it seems to exclude the ending \n for each causing them to no be parsed when loaded back in.
Any idea why this would happen?

Looks to me like you have YAML that is parsable by newer versions of the YAML library (re: Psych) but not older ones (Syck).  Older versions of YAML have consistency issues as far as I know but I don't know what to tell you in terms of getting it to work with psych, but you may be able to workaround by setting it like to Psych like so:
YAML::ENGINE.yamler= 'psych'

I was able to get both of those yaml dumpouts to load via calls to YAML.load when the YAMLER was set to Psych. Did you give that a try?

This article may help educate you on the differences between the Psych and Syck libraries

The inconsistencies and deficiencies I've witnessed in the YAML libraries over the years have been enough to tempt me to switch to JSON as the default serializer for this gem, the only problem being that it would immediately break everyone's applications who were using older versions of PaperTrail and didn't realize they needed to either switch their default serializer back to YAML or convert their serialized data to JSON.

Hmmm...yeah you're right. Works for me with psych too. We have a bunch of columns that have yaml content in them. I'm worried about the global effect of that change. Guess I'll have to go digging through those columns to see what'll happen. Hopefully it doesn't mean full conversion of those columns.
Out of curiosity, with the basic datatypes in JSON, wouldn't you have some headaches around conversion of data back to their original types?

Looks like we had some crazy strip_attributes! :only => [:none] on the model to avoid these issues. I probably shouldn't ask. Thanks for the info!


Is there way to override app notifications settings for android ?

I have app using this plugin. Default in android notifications settings for my app i have only enabled parameters 'show notifications' and 'allow vibration'.

Notifications send from firebase console page only show in status bar (with no sound and other settings from defined channel).
If i want my app to use defined channel settings (sound, badges, led light), i have to manually enable the other parameters first in settings>notifications>myapp
I realized that apps like Messenger Lite or WhatsApp Messenger have theses parameters enabled immediately after installation.

How can my app have theses parameters enabled by default ?

For Android 8+ you need to define a notification channel using createChannel() then specify that channel when sending the FCM notification as demonstrated in this test message.
You can build and run the example project and send the test messages using its built-in FCM client to try this out.

I use code below and settings of the created channel are taken only when i first manually enable parameters in settings>notifications>myapp. If i dont, notifications behave as send without channel_id property.
var customChannel  = {
	id: "fcmtest",
	name: "FCMTest",
	sound: "ringtone",
	vibration: [1000, 1000, 1000, 1000, 1000],
	light: true,
	lightColor: "0xFF0000FF",
	importance: 4,
	badge: true,
	visibility: 1
};

FirebasePlugin.createChannel(customChannel,
	function() {
		console.log("Created custom channel: " + customChannel.id);
		FirebasePlugin.listChannels(
			function(channels) {
				if(typeof channels == "undefined") return;
				for(var i=0;i<channels.length;i++) {
					console.log("Channel id=" + channels[i].id + "; name=" + channels[i].name);
				}
			},
			function(error) {
				console.error('List channels error');
			}
		);
	},
	function(error) {
		console.error("Create channel error", error);
	}
);

FirebasePlugin.setDefaultChannel(customChannel,
  function() {
	  console.log('Default channel set');
  },
  function(error) {
	 console.log('Set default channel error: ' + error);
  }
);

Please build and run the example project and use it as a reference, sending the test messages using its built-in FCM client.

I built example project and sent notifications/data using its FCM client. Still the same. Notifications show only in status bar and on console. I have to manually enable parameters in settings>notifications>example (allow sound, allow led light, icon badges) to include settings from incoming notifications.
One more thing. I tested this on Xiaomi Redmi 4a (android 7) and 6a (android 9). When i launched this example on galaxy s9, everything works immediately. I didn't have to change any notifications settings. Maybe this is xiaomi/miui issue.

Yes this sounds like an OEM-specific issue because it works fine on Google Pixel 2 (Android 10) and Samsung Galaxy S7 (Android 8) for me. Some OEMs behave differently (e.g. #235).


Update docs according to yiisoft#18637

Issue yiisoft#18637

Q
A

Is bugfix?
❌

New feature?
❌

Breaks BC?
❌

Tests pass?
✔

Fixed issues
yiisoft#18637

Thanks.


plutus-ledger build fails due to errors in src/Ledger/Tx.hs

Area
[x] Plutus Application Framework Related to the Plutus application backend (PAB), emulator, Plutus libraries
Summary
plutus-ledger build is currently erroring for me, and these errors can be resolved by reverting commit 1efbb276ef1a10ca6961d0fd32e6141e9798bd11
I was able to run plutus/plutus-chain-link locally from a nix-shell up until today when I pulled the latest from the plutus repo master branch.  I started getting build errors on plutus-ledger, specifically in src/Ledger/Tx.hs (see stack trace below). I updated my cardano-node to 1.30.1, but the errors persisted. I tried to run the plutus-chain-link again however I still got errors trying to build the plutus-ledger app.
I checked recent commits and noticed the change to plutus-ledger/src/Ledger/Tx.hs in 1efbb276ef1a10ca6961d0fd32e6141e9798bd11
Reverting that commit got things running again for me, but would appreciate any insights if I've missed updating something.
Steps to reproduce
Steps to reproduce the behavior:

Pull the latest from plutus master branch
Have your cardano node running
Enter a nix-shell
Navigate to plutus-chain-index folder
Start with: cabal run plutus-chain-index -- --network-id<PHONE_NUMBER> --socket-path <yoursocketpath> start-index

Build will fail on plutus-ledger.
Then if you revert https://github.com/input-output-hk/plutus/commit/1efbb276ef1a10ca6961d0fd32e6141e9798bd11 you can see that it works as expected.
Expected behavior
Expect that the plutus-chain-index will start without errors.
System info (please complete the following information):

OS: macOS
Version BigSur
Plutus version or commit hash 33d1f7029c58b7c6e3687064f7fb9a76978e0c18

Screenshots and attachments
Example error output:
Building library for plutus-ledger-<IP_ADDRESS>..
[16 of 26] Compiling Ledger.Tx

src/Ledger/Tx.hs:152:14: error:
    • Could not deduce (ToJSON (C.EraInMode era C.CardanoMode))
        arising from a use of ‘.=’
      from the context: C.IsCardanoEra era
        bound by a pattern with constructor:
                   SomeTx :: forall era.
                             C.IsCardanoEra era =>
                             C.Tx era -> C.EraInMode era C.CardanoMode -> SomeCardanoApiTx,
                 in an equation for ‘toJSON’
        at src/Ledger/Tx.hs:150:11-29
    • In the expression: "eraInMode" .= eraInMode
      In the first argument of ‘object’, namely
        ‘["tx" .= C.serialiseToTextEnvelope Nothing tx,
          "eraInMode" .= eraInMode]’
      In the expression:
        object
          ["tx" .= C.serialiseToTextEnvelope Nothing tx,
           "eraInMode" .= eraInMode]
    |
152 |            , "eraInMode" .= eraInMode
    |              ^^^^^^^^^^^^^^^^^^^^^^^^

src/Ledger/Tx.hs:169:3: error:
    • No instance for (FromJSON (C.EraInMode C.ByronEra C.CardanoMode))
        arising from a use of ‘parseSomeCardanoTx’
    • In the expression:
        parseSomeCardanoTx
          "Failed to parse ByronEra 'tx' field from SomeCardanoApiTx"
          (C.AsTx C.AsByronEra)
      In an equation for ‘parseByronInCardanoModeTx’:
          parseByronInCardanoModeTx
            = parseSomeCardanoTx
                "Failed to parse ByronEra 'tx' field from SomeCardanoApiTx"
                (C.AsTx C.AsByronEra)
    |
169 |   parseSomeCardanoTx "Failed to parse ByronEra 'tx' field from SomeCardanoApiTx"
    |   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...

Note - does this last error for all eras.
I then get:
    The following packages were specified via -package or -package-id flags,
    but were not needed for compilation:
      - plutus-tx-plugin-<IP_ADDRESS>
      - mtl-2.2.2
      - cardano-api-1.30.0
      - base16-bytestring-<IP_ADDRESS>
cabal: Failed to build plutus-ledger-<IP_ADDRESS> (which is required by
exe:plutus-chain-index from plutus-chain-index-<IP_ADDRESS>).

I can see that the commit I reverted removed code from Tx.hs that had todo comment saying the code should be moved to cardano-api. Perhaps it is present in that package but my build excluded it cardano-api-1.30.0 as noted above? I'm fairly new to cabal and haskell projects so apologies if I've overlooked something.
Additional context
Add any other context about the problem here.

Could you please run cabal clean or rm -rf dist-newstyle and try again? It should help.

Could you please run cabal clean or rm -rf dist-newstyle and try again? It should help.

Thanks so much, that fixed it.
Thanks for being patient - I'm quite new to Haskell.


Check: Response assessment on or before first exposure

@sarabodach saw some of this recently.  what do you think?

Not sure what the visit label was.  Study design pretty standard.  But intuitively doesn't make sense to check the response to a drug before its been administered.  Or on the same day its administered.

in the ex domain, find per patient date of the first dose; in the ex domain find the first exstdtc per usubjid where exdose>0

compare that to first rs.rsdtc (rs domain.variable) per usubjid where rstestcd = ovrinv


DbUpdateException.Entries is empty when a unique constraint sql error is thrown.

When a DbUpdateException is thrown because of unique index constraint, the DbUpdateException.Entries collection is empty. Is this an expected behavior or should it contain the involved entity in there?
Further technical details
EF Core version: 1.1.1
Database Provider: Microsoft.EntityFrameworkCore.SqlServer
Operating system: Windows 10
IDE: Visual Studio 2017

Hi,
I have the same issue on unique indexes or on primary key duplicates. The Entries value of the BbUpdateException is empty.
Regards

Can I request this issue be considered again. Here is the use case.
I am trying to write a SQL error handler that will produce a user-friendly error message from a unique index constraint. I can decode the SQL Server error message if its a single column constraint, but for multiple column indexes it is far harder.
I would also like to alert users to possible duplicate errors where the errors come from a Soft Deleted entry, hidden by a Query Filter. That requires me to extract the property values and search for the duplicate item to detect if it was hidden by a Query Filter.

@JonPSmith The issue is not closed; it is scheduled to be fixed in the 3.0 release.

Did this make its way into EF Core 2.2? I don't see and code so I assume not. Be nice to have in 3.0

@JonPSmith The milestone is set to 3.0. This means it's not in 2.2.

Any news about this? The weekly status update does not mention the item and there is only one issue that's still being worked on for 3.0.

@SebastiaanPolfliet Unfortunately, it had to be cut from 3.0. However, it is scheduled for the 3.1 release scheduled for the beginning of December.

I do also need it but it seems it has not been fixed in 3.1...

Any update on this? It stops us from recovering from unique collisions.

@roja This issue is in the Backlog milestone. This means that it is not planned for the next release (EF Core 5.0). We will re-assess the backlog following the this release and consider this item at that time. However, keep in mind that there are many other high priority features with which it will be competing for resources.

Is any workaround for this issue with a performance problem?


background-size="contain" not working in Outlook 2016

Describe the bug
background-size="contain" not working in Outlook 2016. It works fine on every other email client, including in the browser.
To Reproduce
Here is my mjml code:
`

<mj-section full-width="full-width">
  <mj-group width="80%">

    <mj-column vertical-align="middle">
      <mj-image align="left" width="150px" src="https://dhilton.s3.amazonaws.com/uploads/2018/03/Corporate-One-logo.png">
      </mj-image>
    </mj-column>

    <mj-column vertical-align="middle">
      <mj-text font-size="12px" color="grey" font-weight="bold" align="right" padding-bottom="0">Email Here</mj-text>
      <mj-text font-size="12px" color="grey" align="right" padding-top="5px">Phone Here</mj-text>
    </mj-column>
  </mj-group>

</mj-section>

<mj-section full-width="full-width" background-color="#d4dcdf" background-url="http://pi.corporateone.coop/l/147401/2019-06-26/5kxcz8/147401/131327/AdobeStock_207312686__Converted_.jpg" background-size="contain" background-repeat="no-repeat">

  <mj-group width="80%">
    <mj-column>
      <mj-text align="left" font-size="20px" font-family="Verdana">Make your money work harder for you with new member specials from Corporate One.</mj-text>
    </mj-column>

    <mj-column>
      //blank just for layout purposes
    </mj-column>
  </mj-group>

</mj-section>

<mj-section>
  <mj-column width="80%" border-left="15px solid red">
    <mj-text font-size="20px" font-family="Arial black" color="#003768">EARN UP TO 20 BASIS POINTS OVER THE FED'S RATE ON EXCESS RESERVES</mj-text>
  </mj-column>
</mj-section>

<mj-section padding-top="10px">
  <mj-column width="80%">
    <mj-text color="grey">
      Corporate One’s strong financial position allows us to be a premier provider of short-term cash management solutions. With a $1 million initial investment of new money deposited into a 90-day notice account at Corporate One, new members can earn up to
      20 basis points over the IOER (Interest Rate on Excess Reserves).
    </mj-text>
    <mj-text color="grey">
      In addition to the 90-day notice account we are also making available an Overnight Market Account where your credit union can earn up to 10 basis points over the IOER rate.
    </mj-text>
  </mj-column>
</mj-section>

<mj-section>
  <mj-column width="80%" border-left="15px solid red">
    <mj-text padding-bottom="0" font-size="20px" font-family="Helvetica Neue" color="#626262">Get started today.</mj-text>
    <mj-text padding-bottom="0" padding-top="0" font-size="20px" font-family="Helvetica Neue" color="#626262">Call [phone here] or</mj-text>
    <mj-text font-size="20px" padding-top="0" font-family="Helvetica Neue" color="#626262">e-mail [email here]</mj-text>
  </mj-column>
</mj-section>

<mj-section padding-top="0">
  <mj-column width="80%">
    <mj-text font-size="9px" font-style="italic" color="grey">Earn up to 20 basis points over the rate the Federal Reserve pays on excess reserves (IOER). Subject to $5 Associate membership fee. *Rate subject to change.</mj-text>
  </mj-column>
</mj-section>

<mj-section background-color="#617382" full-width="full-width">
  <mj-column>
    <mj-image align="center" src="http://pi.corporateone.coop/l/147401/2017-01-26/21vfjx/147401/37343/C1_Logo_Footer_0117v1.png"></mj-image>
  </mj-column>

  <mj-column>
    <mj-spacer height="15px" />
    <mj-text padding="0" color="#a2adb7" align="center">Corporate One FCU</mj-text>
    <mj-text padding="0" color="#a2adb7" align="center">8700 Orion Place</mj-text>
    <mj-text padding="0" color="#a2adb7" align="center">Columbus, OH 43240</mj-text>
  </mj-column>
  <mj-column>
    <mj-spacer height="15px" />
    <mj-text padding="0" color="#a2adb7" align="center">866/MyCorp1</mj-text>
    <mj-text padding="0" color="#a2adb7" align="center">614/825-9200</mj-text>
  </mj-column>
</mj-section>
<mj-section background-color="rgb(90, 107, 121)" full-width="full-width">
  <mj-column width="500px">
    <mj-text font-size="9px" color="#a2adb7" align="center">View as a webpage</mj-text>
    <mj-text font-size="9px" color="#a2adb7" align="center">You are receiving this email from Corporate One Federal Credit Union because either you have opted-in to receive MemberMail email communications in the past, or because of your financial institution's relationship with Corporate One FCU. If you
      no longer wish to receive these emails, please use the link below to unsubscribe or manage your email preferences.</mj-text>
    <mj-text font-size="9px" color="#a2adb7" align="center">

        Unsubscribe or manage your email preferences

    </mj-text>
  </mj-column>
</mj-section>

`
Expected behavior
A clear and concise description of what you expected to happen.
MJML environment (please complete the following information):

OS: Windows 10
MJML Version: 4.3.0
MJML tool used: Email Editor

Email sending environment(for rendering issues):

Pardot

Affected email clients (for rendering issues):

Email Client: Outlook 2016

Screenshots
The email in Gmail (how it's supposed to look):

The email in Outlook (looks more like cover than contain):

Additional context
N/A

There’s no way to support this behavior in desktop Outlook sadly.

On 2 Jul 2019, at 21:39, Rae<EMAIL_ADDRESS>wrote:
Describe the bug
background-size="contain" not working in Outlook 2016. It works fine on every other email client, including in the browser.
To Reproduce
Here is my mjml code:
`

<mj-column vertical-align="middle">
  <mj-image align="left" width="150px" src="https://dhilton.s3.amazonaws.com/uploads/2018/03/Corporate-One-logo.png">
  </mj-image>
</mj-column>

<mj-column vertical-align="middle">
  <mj-text font-size="12px" color="grey" font-weight="bold" align="right" padding-bottom="0">Email Here</mj-text>
  <mj-text font-size="12px" color="grey" align="right" padding-top="5px">Phone Here</mj-text>
</mj-column>

Make your money work harder for you with new member specials from Corporate One.

<mj-column>
  //blank just for layout purposes
</mj-column>

EARN UP TO 20 BASIS POINTS OVER THE FED'S RATE ON EXCESS RESERVES

      Corporate One’s strong financial position allows us to be a premier provider of short-term cash management solutions. With a $1 million initial investment of new money deposited into a 90-day notice account at Corporate One, new members can earn up to
      20 basis points over the IOER (Interest Rate on Excess Reserves).

      In addition to the 90-day notice account we are also making available an Overnight Market Account where your credit union can earn up to 10 basis points over the IOER rate.

Get started today.
Call [phone here] or
e-mail [email here]

Earn up to 20 basis points over the rate the Federal Reserve pays on excess reserves (IOER). Subject to $5 Associate membership fee. *Rate subject to change.

Corporate One FCU
8700 Orion Place
Columbus, OH 43240

866/MyCorp1
614/825-9200

View as a webpage
You are receiving this email from Corporate One Federal Credit Union because either you have opted-in to receive MemberMail email communications in the past, or because of your financial institution's relationship with Corporate One FCU. If you
      no longer wish to receive these emails, please use the link below to unsubscribe or manage your email preferences.

Unsubscribe or manage your email preferences

`
Expected behavior
A clear and concise description of what you expected to happen.
MJML environment (please complete the following information):
OS: [e.g. MacOS]
MJML Version [e.g. 4.2.0]
MJML tool used [e.g MJML App]
Email sending environment(for rendering issues):
Pardot
Affected email clients (for rendering issues):
Email Client: Outlook 2016
Screenshots
The email in Gmail (how it's supposed to look):
The email in Outlook (looks more like cover than contain):
Additional context
N/A
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Ok. That should probably be noted in the documentation.


Question: Raspberry Pi 4/5 as server?

Hi Jelle,
Thanks for your talk the other day at the Surf XR day!
Question: do you think Pi 4/5 could be enough to run as a server for a small 2-player system? I'm guessing the answer would be 'it depends', but is it in any way, shape, or form reasonable for me to look into this further?
The reason I want something simple and small is that it needs to be quite portable and replicable. I'd prefer the server to auto-start upon booting, so the system would require minimal support from my side, once it's out in the field.
Thanks,
Best,
Maarten

Hi Maarten,
You're welcome for the talk! I'm really sorry about replying so embarrassingly late; I did not see any notification so I completely missed it. I will look into this and fix it.
In RadishNet the server actually handles relatively little data so I don't think running the server on a Raspberry Pi should be a problem! I'll send you my e-mail so I can help you out if you'd like.
Best,
Jelle

Not a worry! Github is not too forthcoming with those kinds of notifications.
I'll contact you when I'm having some time to look into this further.
Thanks Jelle!
Maarten


Question: Training student on unlabeled images

In the paper you mention the following:

We first train the most capable teacher on precise synthetic images. Then, to mitigate the distribution shift and limited diversity of synthetic data, we annotate unlabeled real images with the teacher. Finally, we train student models on high-quality pseudo-labeled images.

I fully understand the idea. But how can the teacher work good enough on unlabeled images when it is based on synthetic data? How do you guarantee the quality of the pseudo-labeled images? I do not see how or where you bridge the synthetic gap...

Q1: How can the teacher work well enough on unlabeled images when it is based on synthetic data?

We compare different pre-trained encoders in Section 3, and find the DINOv2-Giant-based depth model transfers well enough from synthetic training images to real test images. This is supported by both qualitative (Figure 5 and 17) and quantitative (Table 5 last row) results.

Q2: How to guarantee the quality of the pseudo-labeled images?

At least two factors guarantee the pseudo label quality. First, as aforementioned, we empirically find the DINOv2-Giant-based depth model can serve as a reliable teacher model. Second, we discard 10% largest-loss regions when training student models on pseudo-labeled real images.

Q3: How is the domain gap between synthetic training images and real test images bridged?

The student models are purely trained on high-quality pseudo-labeled real images. Briefly, it will learn the diverse real-image distributions with the pseudo label. For more in-depth analysis, you may refer to the research field of unsupervised domain adaptation.

Q1: How can the teacher work well enough on unlabeled images when it is based on synthetic data?

We compare different pre-trained encoders in Section 3, and find the DINOv2-Giant-based depth model transfers well enough from synthetic training images to real test images. This is supported by both qualitative (Figure 5 and 17) and quantitative (Table 5 last row) results.

Q2: How to guarantee the quality of the pseudo-labeled images?

At least two factors guarantee the pseudo label quality. First, as aforementioned, we empirically find the DINOv2-Giant-based depth model can serve as a reliable teacher model. Second, we discard 10% largest-loss regions when training student models on pseudo-labeled real images.

Q3: How is the domain gap between synthetic training images and real test images bridged?

The student models are purely trained on high-quality pseudo-labeled real images. Briefly, it will learn the diverse real-image distributions with the pseudo label. For more in-depth analysis, you may refer to the research field of unsupervised domain adaptation.

Could you give more details about discarding 10% largest-loss regions when training student models on pseudo-labeled real images ?  I can't figure out how to implement this trick.


Add deepCloneState to getState()

This speeds up the setState method with large arrays

Thanks Steve. I completely forgot about the private cloning going on which is obviously slowing things down for your scenario. Thanks for the PR (and subtle reminder :-)). Since this changes how things work internally I need to take a closer look. Now that 1000s are using it I have to be really careful about changes like this having any side effects. I'm tied up with a project deadline right now but as soon as I get a break I'll take a closer look into this. Thanks again.

Thanks again @Steve-RW. I'm adding some additional tests for cloning vs not cloning and things seem to check out good so far. I'll let you know once I've done some more due diligence on it.

Thanks @DanWahlin Really glad I could contribute.

New version is out with the changes.


Some typos in this book.

Hi @kaiwan, Thanks for writing this excellent book.
After reading this book thoroughly, i found some typos which you may could help to correct it.

In Page 155,  Double 'w' used at line "// ch4/helloworld_lkm/hellowworld_lkm.c". red line marked as below.

In Page 307, at line " first and second columns in the preceding code block that represent the TGID and PID respectively". From the configure below, In fact,  " first and second columns in the preceding code block that represent the PID and TGID respectively"

In Page 656, at last line, "In place of atomic64_dec_if_positive(), use
atomic64_dec_if_positive()." It may should be  "In place of atomic_dec_if_positive(), use
atomic64_dec_if_positive()."

Thanks
Hengwei

Hi @kaiwan, Thanks for writing this excellent book.
Thank you!
After reading this book thoroughly, i found some typos which you may could help to correct it.

In Page 155,  Double 'w' used at line "// ch4/helloworld_lkm/hellowworld_lkm.c". red line marked as below.

Thanks; now marked in the README.md under the 'Known Errata' section

In Page 307, at line " first and second columns in the preceding code block that represent the TGID and PID respectively". From the configure below, In fact,  " first and second columns in the preceding code block that represent the PID and TGID respectively"

This typo has already been caught :-)
See in the 'Known Errata'

In Page 656, at last line, "In place of atomic64_dec_if_positive(), use
atomic64_dec_if_positive()." It may should be  "In place of atomic_dec_if_positive(), use
atomic64_dec_if_positive()."

Thanks; now marked in the README.md under the 'Known Errata' section

Thanks Hengwei
Thank you very much


slide_link_html_sections_to_slides not working

Hi
I'm trying to migrate a project from hieroglyph 0.7.1 to hieroglyph 1.0.0 but the slide_link_html_sections_to_slides config option does not work anymore (no link in the output html pages). The slide_link_html_to_slides is enabled (as explained in the docs). Same problem with a new project created with hieroglyph-quickstart.

I confirm the problem. Creating a fresh project with the latest Sphinx and Hieroglyph, I could not get the links from HTML sections to slides to appear. Reverting to Sphinx<1.6 and Hieroglyph<1.0 solved the issue.

Still not working with Hieroglyph 2 and the latest version of Sphinx... :cry:
I hacked a workaround, by injecting the following JS code in all HTML pages:
window.addEventListener('load', () => {
    let path = window.location.pathname.split('/');
    if (/slides/.test(path)) {
        return; // do not add links in slides
    }
    let filename = path[path.length-1];
    for (a of document.querySelectorAll('a.headerlink')) {
        let b = a.cloneNode();
        b.innerText = '§';
        let hash = (new URL(a.href)).hash;
        b.href = 'slides/' + filename + hash;
        a.parentElement.appendChild(b);
    }
});

NB: that assumes that the slides are in a slides directory as a subdirectory of the "normal" rendering.


feat: update generated samples to executable format

b/207550139, b/207550144
go/java-sample-gen
go/java-sample-gen-bugs

@meltsufin I'm starting a thread internally to discuss more in-depth, but basically, these aspects are up for decision for each language, as they know their community better.

Forking as new branch as we decided to not make inline snippets "executable" format but instead link to full example if users wants it


Emote mods doesn't work with synced emotes

When using the emote mods on sub emotes, which have been synced with Discord, it applies the image and the menu, but emote mods doesn't get added.

Fixed in 1.59 https://github.com/Jiiks/BetterDiscordApp/commit/6c496b189831ea99a95e25bd1f531b27e526e13b


When HTC++ availabel

Hi, I think the sota model HTC++ multi-scale is not released yet?

Not one year later as well :(

lmao.

The same question @zdaxie :(
Where should we refer for the instance segmentation experiments? To https://github.com/SwinTransformer/Swin-Transformer-Object-Detection ?


clean up player strumming code + sustain clipping code

attempt number 3 because i f'd it up again
also botplay no longer hits notes too early and hits notes like cpu's

ey kade merge this


Images should be deleted after building

Since the build always pushes up to a registry and there isn't a way to execute a command after the build I think images should be cleaned up after building since steps are inherently stateless.

We rely on the images being there for subsequent steps. I'd suggest using a different ECR repository specifically for buildkite CI images and then use the new https://docs.aws.amazon.com/AmazonECR/latest/userguide/LifecyclePolicies.html. If you aren't on ECR, then it's slightly more complicated.

@lox I was told by @toolmantim in Slack that steps should be stateless as the agent it runs on could be different from the build step. Is this not the case?

There might be some confusion! Are you referring to local images @soliah? You’re probably right that they’re fine to untag/remove after building… just have to figure out what to do about the layer cache tho? Because dedicated builder agents often need that around for performance.

Oh, apologies I misunderstood! Yup, I'd suggest leaving them around to ensure a hot build cache.

Yea sorry I meant local images. I guess as the number of agents increases the cache becomes less useful as the chance of hitting the same agent when you have a lot of pipelines goes down.
In any case I don't think this is something that should be dealt with in the plugin.

Oh right, yeah sometimes the build step is often targeted to a single pool of "builder" agents, but I totally agree it gets less useful for caching. It'd be great to extend the build cache support to include pulling images and using --cache-from — but in the meantime, I think people rely on the builds hitting mostly cached/hot agents.
Thanks for filing an issue though! This discussion is good for future peeps wondering the same thing.

Are you seeing any problems with images building up, or are you just concerned that it might become a problem @Soliah? We've tackled this a few different ways in the past.


cargo embed rtt BinaryLE channel does not work properly

Describe the bug
It seems like the socket feature does not work properly when setting up a RTT channel in the BinaryLE format. According to wireshark, it does not even attempt to establish a connection. The String format works fine.
Also, for me the cargo-embed console display of BinaryLE RTT data is not line wrapped. For reference, I am sending 8 byte messages in one call to the rtt_target UpChannel.
To Reproduce
Steps to reproduce the behavior:

Configure UpChannel 1 with NoBlockSkip on both ends, and set socket to localhost + some port, then listen on it with e.g. netcat.
2.) Run cargo-embed in a project that sends 8byte messages as rtt data on channel 1.

Expected behavior
You will see that there is no attempt at connecting the socket. Also the cargo-embed interface for channel 1 will not line-wrap the binary data.
Desktop (please complete the following)

OS: Linux (Arch)
Target: RPI Pico (RP2040)
Debugger: Raspberry PI debug probe
probe-rs version: master (0.23)

Both of these issues were supposed to be fixed by #2249

I can confirm that this seems to be working now!


[mac] Error: mainWindow is not defined

Zap is synchronized and no channel is yet open (1 pending).
When clicking on a payment request URI I get the following error:

Uncaught Exception:
Error: "mainWindow" is not defined
at App.d.app.on (/private/var/folders/b8/c2dz20d92t796jkykxvfh52c0000gn/T/AppTranslocation/DD711D27-EE99-4493-981D-C652673A95A9/d/Zap.app/Contents/Resources/app.asar/webpack:/app/main.dev.js:286:31)
at emitTwo (events.js:106:13)
at App.emit (events.js:191:7)

Then a second Zap window opens.

I have been unable to reproduce this issue. Please can you verify if this is an issue with the latest code in the master branch and if so provide steps for how to reproduce? Thanks.

Closing due to inactivity. Looks like this relates to an older version of the app and grpc client. @dasilvarosa please feel free to reopen if you can reproduce this issue with the latest codebase.


Set the project to active

Per ADR #7, we have a status of "approved", which means a sysadmin has approved it, and we now have a status of "active", which means it has a valid mediaflux_id
Acceptance criteria

[ ] There is a method called #activate_project next to the #approve_project method
[ ] it checks whether the project has a mediaflux_id
[ ] it queries mediaflux for that id and verifies that the DOI of the project in rails matches the DOI in mediaflux
[ ] If so:

[ ] it sets the status to Project::ACTIVE_STATUS
[ ] it records a ACTIVE_EVENT_TYPE provenance event for this project

@bess If we query mediaflux, and the DOI's do not match or that particular mediaflux id does not exist in mediaflux, when/how often should we run the check against mediaflux? Do you think we should implement this a service class that runs a background job automatically after a certain interval for all pending projects?

@JaymeeH I think this ticket describes the background job we need: https://github.com/pulibrary/tiger-data-app/issues/630
And yeah, having a service class that runs the background job after a certain interval for all pending projects makes sense.


Why I see controls when I disable them?

I see video statistics and controls despite I have them disabled. How to hide all these stuff?
View:
<div class="main-player-container">
    <video class="video-js vjs-default-skin" autoplay preload="auto"
               width="592" height="252" vjs-video vjs-media="mediaToggle">
    </video>
</div>

Controller:
angular.module('VideoChannelCtrl', [])
    .controller('VideoChannelController', ['$scope', function($scope) {

    $scope.mediaToggle = {
        sources: [
            {
                src: 'http://media.w3.org/2010/05/sintel/trailer.mp4',
                type: 'video/mp4'
            },
            {
                src: 'http://media.w3.org/2010/05/bunny/trailer.mp4',
                type: 'video/mp4'
            }
        ]
    };

    //listen for when the vjs-media object changes
    $scope.$on('vjsVideoMediaChanged', function (e, data) {
        console.log('vjsVideoMediaChanged event was fired');
    });

}]);

See my comment in #51, this appears that you don't have the styles loaded properly for video.js.

Closing this out, as it appears this isn't a vjs-video issue.


Fixes #469: Remove redundant SFDb_3d_TM database

Fixes #469

The code changes look good to me. I will try to test this today


Fix typos

The changes fix some typos. Nothing critical, please feel free to ignore.
The typos were uncovered by https://github.com/tekumara/typos-lsp while I was lurking around the codebase 🙇

Are you kidding? Typo fixes are some of my favourites! Thanks so much!

Thank you for looking into it! 😄


Contributing and plans with this gem

Hi. I was about to create a wrapper for Cloud Vision API for a project I'm working, but I found this gem. I would like to contribute with you in case you have plans to improve it, maybe we can create a To Do, and you can share with me the plans you have with this gem.

I would be happy to work together on this! Since the API is still in beta, my immediate plans were just to keep up with their changes, but I would be happy to help you if you have something in mind. Want to start the todo list?

Great!
Well, I was thinking in defining a public API that would be easy to use and keep the same as possible despite the future changes by Google. But, this is the difficult part, we have to think what would be the best way to interact with Cloud Vision API and bring a good experience for future users.
We can do a brainstorming about this, at the moment I have two ideas.
Divide by type:
GoogleCloudVision::LabelDetection.new [string or array of images], {options with defaults already defined}

GoogleCloudVision::LabelDetection.new '~/Pictures/dog.png', {max_results: 7}

=>  [{mid: "/m/068hy", description: "pet", score: 0.98293257}, {mid: "/m/0bt9lr", description: "dog", score: 0.98023009}, {mid: "/m/04rky", description: "mammal", score: 0.95344138}, {mid: "/m/0jbk", description: "animal", score: 0.92980206} ]

## We can also consider a way to pass an array that in return give us an array of images

GoogleCloudVision::LabelDetection.new ['~/Pictures/dog.png', '~/Pictures/cat.png'], {max_results: 8}

GoogleCloudVision::TextDetection.new './poster.jpg' # Using defaults

With a focus on images, similar as you have it:

GoogleCloudVision.new [string or array of images], {options with defaults already defined}

GoogleCloudVision.new '~/Pictures/poster.png', {detections: ['TEXT_DETECTION', 'LABEL_DETECTION'], max_results: 3 }

=> { label_annotations: [{mid: "/m/068hy", description: "food", score: =>0.98293257}, {mid: "/m/068hy", description: "menu", score: 0.88293257} ...], text_annotations: [{locale: "lt", description: "Antico Pizza Napoletana\n", bounding_poly: {vertices: [{x: 82, y: 22}, {x: 296, y: 22}, {x: 296, y: 84}, {x: 82, y: 84}]}]}

Another thing I would like is to be able to set up the a initial configuration file, where I can add the Cloud Vision API key, and modify some default values for options.
After that we can support URLs for images and not only local paths. And keep it updated with future changes and improvements of Cloud Vision API, you can count on me with those.

I think dividing by type is a greta idea as well as a config. I do not like having to pass the API key with each request. Want to open a PR and we can start implementing those changes?

Yup, tomorrow I'll be working on config, and then the other changes


feature: Remove Redundant Loader During Page Transitions (Skeletons Already in Use)

Is your feature request related to a problem? Please describe.
Yes, the loader appears in the top-left corner of the screen during page transitions, and its size and placement don't align with the rest of the header contents. Additionally, since we are already using skeleton screens for loading, the loader seems redundant.
https://github.com/user-attachments/assets/93f9c7f7-1a0a-405d-acb6-b585171427e4
Describe the solution you'd like
I suggest removing the loader entirely, as the skeletons are sufficient for page loading feedback and provide a more consistent user experience.
Describe alternatives you've considered
One alternative would be adjusting the loader's size and placement to match the header elements, but I believe removing it completely is a cleaner solution since skeletons are already in place.
Additional context
I have a pull request ready with these changes. Let me know if you'd like me to proceed.

I would love to work on this enhancement.

This is a simple change fixing


Update README-CN.md

fix links

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

:exclamation: No coverage uploaded for pull request base (master@d14bcc5). Click here to learn what that means.

:exclamation: Current head 0bf16f6 differs from pull request most recent head 9f6089b. Consider uploading reports for the commit 9f6089b to get more accurate results

Additional details and impacted files
@@            Coverage Diff            @@
##             master     #888   +/-   ##
=========================================
  Coverage          ?   83.27%
=========================================
  Files             ?       47
  Lines             ?     3235
  Branches          ?        0
=========================================
  Hits              ?     2694
  Misses            ?      411
  Partials          ?      130

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Windows Terminal Preview - Read-only pane pop-up on tab switch

Windows Terminal version
Windows Terminal Preview Version: 1.15.1862.0
Windows build number
10.0.19044.1766
Other Software
Seems to be on anything I have open in terminal
Steps to reproduce
Open 3 terminal tabs, PowerShell 7.2.5, Windows PowerShell 5.1, or command prompt. Set a keybind to toggle pane read-only mode (mine is set to ctrl-shift-), then toggle one of the tabs to read-only.  Click on the 3 tabs in any order.  Pop-up stating "Read-only mode enabled" appears both switching to AND from that read-only tab to/from other tabs.

This doesn't happen in my currently installed non-preview version Windows Terminal Version: 1.13.11431.0 (I should probably update, but I don't use the non-preview version much)
Expected Behavior
Personally, no popups at all, but if you have to, only when switching to the read-only tab.  I did not try with split panes, I don't use them much, though I like the feature in theory.
Actual Behavior
Pop-up stating "Read-only mode enabled" appears both switching to AND from that read-only tab to/from other tabs.
I did discover that you can't set the settings tab to read-only, though I can live without that :)

oh my god, I'm confident that this is because of the focus in/out events. We should probably not suppress those, even in read only mode. Trick is, can we get the input generated for those events past the read-only guard simply?

I just updated my non-preview version to 1.14.1861.0 and I get the same bad behavior, just FYI.
Thank you for all the work you all do on making this otherwise awesome software!

I'm still seeing this on 1.15.1862

@RedX2501 That makes sense, it looks like #13483 isn't in any release branches yet. The bot should come through and post an update when it does show up in one!


Any route to make auto complete of my PyCharm (or any other IDE) work again?

Newbie to mxnet. It is important to have auto complete when learning / writing my own code.
However, some of the symbols in mxnet just cannot be recoganised by PyCharm. I don't know if this is an issue with PyCharm or other editors also have this problem.

OK, it seems that this situation happens because mxnet contains C extension, and PyCharm only handles ordinary python code.
One possible work round is using the terminal panel in PyCharm. Run ipython in that panel, import mxnet as mx, then
mx.sym.FullyConnected?

shows the full comment string, and
mx.sym.FullyConnected?

shows source code the the function

Isnt there a way to add a Python class wrapper for every symbol and then construct the NN from them?

Appearently that's what tensorflow did.
I guess doing like this costs developers lots of time, so mxnet may not write these wrappers recently.

Or we should wait for the keras mxnet backend. All mxnet symbols will be hided by keras layers.

Yeah, the more choices, the better.

This issue is closed due to lack of activity in the last 90 days. Feel free to reopen if this is still an active issue. Thanks!


More potential Recipes to add

2x2 silk into string
Creature heads with workblade into respective reliquary special drops
-more that I can't currently think of

2x2 silk makes thread already. Are you suggesting it makes string instead of thread, or that 2x2 thread makes string?

Okay, since the first request is more-or-less resolved and the second is a duplicate, I'm gonna close this.


Feedback on the item "ConfigureViewInFileExplorer"

Feedback on the item "ConfigureViewInFileExplorer"
We would like to be able to wildcard.  Is this possible can?  If not, can it be added as a feature?  This of this from a customer that has several different Geo locations and the start them all with the same prefix but change the last part of the name based on Location.
{ "cookies": [ "rtFa", "FedAuth" ], "domain": "contoso*.sharepoint.com" }

@Khobbes101 Are you the customer requesting this feature?
Based upon the example in the documentation, it does not look like wildcards are currently accepted.

How many separate URLs would there be for this policy?

I am reporting for one of my customers.  They have 6 right now I believe but they are just starting to build-out.  They were wanting to create a standard naming convention and didn’t want to have to keep remembering to update this policy as they continue to build.
Cheers!
Kalvin
From: Kelly @.>
Sent: Thursday, June 16, 2022 1:43 PM
To: @.>
Cc: @.>; @.>
Subject: Re: [MicrosoftDocs/Edge-Enterprise] Feedback on the item "ConfigureViewInFileExplorer" (Issue #364)
@Khobbes101https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FKhobbes101&data=05|01||96ea97b7590247951e7d08da4fc81622|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637910018024158789|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=zhgQ1qlpZo1enCL5Js3zS32fjGBaBQKA4zbul7b9BVk%3D&reserved=0 Are you the customer requesting this feature?
Based upon the example in the documentation, it does not look like wildcards are currently accepted.
[image]https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fuser-images.githubusercontent.com%2F74324031%2F174141785-7c307379-4832-4f86-9ff1-42c8405c6f48.png&data=05|01||96ea97b7590247951e7d08da4fc81622|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637910018024158789|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=doDONt7yiG9R8JVULDAOP4iQWSDJcqqfkko%2F3sPAtD4%3D&reserved=0
How many separate URLs would there be for this policy?
—
Reply to this email directly, view it on GitHubhttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2FEdge-Enterprise%2Fissues%2F364%23issuecomment-1158015506&data=05|01||96ea97b7590247951e7d08da4fc81622|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637910018024158789|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=oLgQYhRvxQcUNQOCn7QBiRShGLhruTTJc3vflKSm0hk%3D&reserved=0, or unsubscribehttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FATL44LAPFUV2KR6QUC6DWNDVPNYURANCNFSM5Y4QZPNA&data=05|01||96ea97b7590247951e7d08da4fc81622|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637910018024158789|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=HjhMq0TV55hTowrUFpsHySAS2XeaouqJ6dKe4vE66K8%3D&reserved=0.
You are receiving this because you were mentioned.Message ID: @.***>

@Khobbes101 Do you work for Microsoft?  If so, what team are you with?

Yes, I am with FastTrack.  @.***
Sent from my Verizon, Samsung Galaxy smartphone
Get Outlook for Androidhttps://aka.ms/ghei36

From: Kelly Yokote @.>
Sent: Monday, June 20, 2022 4:56:38 PM
To: MicrosoftDocs/Edge-Enterprise @.>
Cc: Khobbes101 @.>; Mention @.>
Subject: Re: [MicrosoftDocs/Edge-Enterprise] Feedback on the item "ConfigureViewInFileExplorer" (Issue #364)
@Khobbes101https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FKhobbes101&data=05|01||b74452b048e741d679d008da5307c08c|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637913590007464736|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=NVx3%2F8wfU3A%2BNTu%2BSl%2BQSJUDzJ7yWA6jS0RCh2aOJEY%3D&reserved=0 Do you work for Microsoft? If so, what team are you with?
—
Reply to this email directly, view it on GitHubhttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2FEdge-Enterprise%2Fissues%2F364%23issuecomment-1160877743&data=05|01||b74452b048e741d679d008da5307c08c|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637913590007464736|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=WCSMS34vg3LrTHEiB2ldLkOH7C9%2F6jjX3XzzROVBlso%3D&reserved=0, or unsubscribehttps://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FATL44LDX3GCRSCZWXHGNGSDVQDSJNANCNFSM5Y4QZPNA&data=05|01||b74452b048e741d679d008da5307c08c|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637913590007464736|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=6dK4p9%2F%2FP2OfqzfaB5KIsTUUuMiPb9jQRI%2FhHo8pilE%3D&reserved=0.
You are receiving this because you were mentioned.Message ID: @.***>


Previous warnings in chansrv_fuse.c are now errors due to -Werror

There's a difference in latest version 0.9.14 compared to <IP_ADDRESS> coming from commit 7e58209 by @aquesnel, which now turns all warnings into errors on Linux (i.e. with -Werror compiler option). However, thus previous warnings in chansrv_fuse.c are now turned into errors and thus are blocking the build of the software.
The relevant part of my build log is:
Making all in chansrv
make[3]: Entering directory '/usr/src/tmp/xrdp-0.9.14/sesman/chansrv'
i586-slackware-linux-gcc -DHAVE_CONFIG_H -I. -I../..  -DXRDP_CFG_PATH=\"/etc/xrdp\" -DXRDP_SBIN_PATH=\"/usr/sbin\" -DXRDP_SHARE_PATH=\"/usr/share/xrdp\" -DXRDP_PID_PATH=\"/var/run\" -DXRDP_SOCKET_PATH=\"/tmp/.xrdp\" -I../../common  -DXRDP_FUSE -D_FILE_OFFSET_BITS=64 -I/usr/include/fuse  -DXRDP_OPUS -DXRDP_MP3LAME    -O3 -march=i586 -mtune=i686 -Wall -Wwrite-strings -Werror -O2 -c -o chansrv_fuse.o chansrv_fuse.c
chansrv_fuse.c: In function 'xfuse_cb_readdir':
chansrv_fuse.c:1610:20: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
     else if ((dh = (struct xfs_dir_handle *) fi->fh) == NULL)
                    ^
chansrv_fuse.c: In function 'xfuse_cb_read':
chansrv_fuse.c:2098:15: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
     if ((fh = (XFUSE_HANDLE *)fi->fh) == NULL)
               ^
chansrv_fuse.c: In function 'xfuse_cb_write':
chansrv_fuse.c:2171:15: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
     if ((fh = (XFUSE_HANDLE *)fi->fh) == NULL)
               ^
chansrv_fuse.c: In function 'xfuse_cb_releasedir':
chansrv_fuse.c:2439:33: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
     struct xfs_dir_handle *dh = (struct xfs_dir_handle *) fi->fh;
                                 ^
cc1: all warnings being treated as errors
Makefile:535: recipe for target 'chansrv_fuse.o' failed
make[3]: *** [chansrv_fuse.o] Error 1
make[3]: Leaving directory '/usr/src/tmp/xrdp-0.9.14/sesman/chansrv'
Makefile:706: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/usr/src/tmp/xrdp-0.9.14/sesman'
Makefile:481: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/usr/src/tmp/xrdp-0.9.14'
Makefile:413: recipe for target 'all' failed
make: *** [all] Error 2

I'd like to make it clear that I'm trying to build for Slackware 14.2 with GCC 5.5.0, which is quite old. However, building on Slackware-current with GCC 9.3.0 rends even more warnings now turned into errors. It doesn't seem to me that all warnings were fixed, so -Werror could be enabled by default on Linux. Should this option remain by default or is there are plan to fix all the warnings?

I plan to fix the warnings to make sure that it does build.
I don't have time to look at the details of your build at the moment. Do you know what the difference is between your build and the builds that succeeded when the commit was published?

Hi @gdsotirov,
I have not been able to reproduce the error that you found on my machine.
I tried to reproduce the error with the following commands:
git checkout v0.9.14
./configure --enable-fuse --enable-mp3lame --enable-opus
make clean
make V=1

Make used the following command to successfully compile chansrv_fuse.c
gcc -DHAVE_CONFIG_H -I. -I../..  -DXRDP_CFG_PATH=\"/etc/xrdp\" -DXRDP_SBIN_PATH=\"/usr/local/sbin\" -DXRDP_SHARE_PATH=\"/usr/local/share/xrdp\" -DXRDP_PID_PATH=\"/var/run\" -DXRDP_SOCKET_PATH=\"/tmp/.xrdp\" -I../../common  -DXRDP_FUSE -D_FILE_OFFSET_BITS=64 -I/usr/include/fuse  -DXRDP_OPUS -DXRDP_MP3LAME    -g -O2 -Wall -Wwrite-strings -Werror -MT chansrv_fuse.o -MD -MP -MF .deps/chansrv_fuse.Tpo -c -o chansrv_fuse.o chansrv_fuse.c

Can you please verify if you can reproduce the error using the same commands that I did? And if so, can you try to reproduce the error on a travis-ci build by following the instructions here

@aquesnel The difference between the builds is only the xrdp version. I'll provide more details  and do the requested later as I'm currently not on PC.

 I enable the same (i.e. fuse, mp3lame and opus), but I also enable other features (e.g. IPv6, JPEG, pixman, painter and rfxcodec) and set paths, which is necessary for the build of a general purpose system-wide package. The exact differences with your compiler command are the following:
--- aquesnel
+++ gdsotirov
@@ -1,14 +1,14 @@
-gcc \
+i586-slackware-linux-gcc \
 -DHAVE_CONFIG_H -I. -I../..
But I do not think these differences are important. And of course I was able to reproduce the same warnings (i.e. errors) with the same compiler command as you. So what's your compiler version? And the next things that come to mind are: What version of FUSE you're using? What OS and version? I'm trying to build package for Slackware 14.2 (released 2016-07-01), so I'm building with old GCC 5.5.0 and old FUSE version - 2.9.5.
However, I tried the same build on Slackware-current with newer GCC 9.3.0 and newer FUSE 2.9.9, but with removed -Werror option I have the same warnings plus one more:
log.c:558:30: warning: ‘%.2d’ directive output may be truncated writing between 2 and 11 bytes into a region of size between 9 and 16 [-Wformat-truncation=]
chansrv_fuse.c:1610:20: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
chansrv_fuse.c:2098:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
chansrv_fuse.c:2171:15: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
chansrv_fuse.c:2439:33: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]

I'm totally for fixing all compilation warnings, which is necessary, before enforcing -Werror. However, this is what I get in my environments and searching for the reason I found your revision. I had the same warnings for 0.9.13, but they were just warnings back then. Let me know if you need other information from me. Let's first try to understand why I have warnings and you do not.

Hi @gdsotirov
Apologies for butting in to this conversation but I think I can see what's happening here.
The fi->fh value referred to in the error is defined in /usr/include/fuse/fuse_common.h as being a uint64_t (on my system at least). The errors suggest to me you're building on a 32-bit operating system. Is this right?
The other warning you're getting on log.c:558 is fixed in devel by commit 8b54de320c257ab696371f8fd81e1e9554fb8711
Exactly what we do about this isn't clear to me at the moment but I though this would help a bit.

@gdsotirov thanks for the build info, I'll try to reproduce the issue.
I'm using the CI builds to verify if the build succeeds. Right now for the 32-bit build it's using Ubuntu 16.04 with gcc 5.4.0 (see the build output for more details)
@matt335672 Thanks for helping to debug the issue.
notes
It looks like this warning was not caught in the CI builds because fuse is disabled for 32-bit builds.
https://github.com/neutrinolabs/xrdp/blob/devel/.travis.yml#L87
next actions

reproduce the failure with the same flags
try enabling fuse on 32-bit builds since there have been a bunch of changes to fuse lately

notes

I've been able to reproduce the error in CI build

https://travis-ci.com/github/aquesnel/xrdp/builds/183411044
https://github.com/aquesnel/xrdp/commit/ec53a0398d22d27fdb21b23fc1f3d1f8c37d3db6

I don't understand why only the gcc build fails, and not the g++ or clang builds

next actions

investigate the fuse types and make a plan to fix the warning

I've looked at the code and there are two problems:

a pointer is stored in the fuse_file_info.fh field which is of type uint64_t and this field is used as context argument for callbacks. A pointer is stored into the field. For 64 bit-systems this is fine, but for 32-bit systems this causes a widening from the pointer to the fh field, and then a narrowing from the 64-bit field to the 32-bit pointer when retrieving the callback context. This should be safe since only 32-bit pointers can be stored in the field, and the callback context is local to the current process. These warning can be solved by adding (tintptr) to the missing locations, since it is a known safe operation.

fuse_file_info.fh field is used to store a pointer two different types: an xfuse_handle and a xfs_dir_handle. There is no type identifier in the handle, so without further investigation it is not clear if there type error in the code.
The solutions that I can think of is to:

do nothing and leave the analysis for the next change to the module
use a single type in fuse_file_info.fh. eg. add the xfs_dir_handle struct (or a pointer) as a field of xfuse_handle and then only set the xfuse_handle pointer as the fuse_file_info.fh field.

@matt335672 since you have been modifying this fuse code recently, let me know if you have a recommended fix, otherwise I'll just only fix the warnings, and leave the second problem alone.

Thanks for the analysis.
I think your solution to problem 1. is fine. In an ideal world we'd be moving to the standard intptr_t, but we are where we are.
Nice spot on problem 2. From a pragmatic point of view what we've got works OK, but I can understand it's not ideal from a strongly typed perspective.
Another option which occurred to me would be to introduce another type for fuse_file_info.fh which would be type identifier plus a union of pointers. That would allow us to check the pointer type at runtime was correct, a bit like a C++ dynamic_cast. However, I think your proposal is better, as introducing another type is I think needlessly complicating this module. It also introduces quite a lot of runtime error checking.
Considering your proposal, if I understand you right, in the two places where the result of xfs_opendir() is assigned to fuse_file_info.fh, we'd simply interpose another allocated xfuse_handle structure. Have I got that right?
We could then wrap the conversion to and from the void pointer in a couple of static functions (which the compiler will inline) and make the whole thing a bit more amenable to static type analysis.

Automatic closure!
I've re-opened this so we can keep the conversation going about the typing issue.

I'm sorry for my late replay - I was busy these days.
@matt335672 Yes, 32 bit OS. I do not have these warnings on 64 bit Slackware.
@aquesnel @matt335672 Thank you both for investigating time and efforts into finding and fixing the problem. I'll test the fix with the next release.

@matt335672 I've implemented my idea for unifying the types for the fuse file handle in #1686 . Let me know what you think.

Great - since you're opened #1686, I'll close this now.


linestyle not working as expected

What is the difference between lineProps and lineStyle?
I have used lineStyle as described in the example and as I saw it in issue #76 but it does not work for me. This is what my code looks like -
<SyntaxHighlighter              language='csharp'              showLineNumbers={true}              style={docco}              wrapLines              lineProps={(lineNumber: number) => {                  const style = { display: '', backgroundColor: '' };                  if (ADDED == lineNumber) {                      style.display = 'block';                      style.backgroundColor = '#dbffdb';                  }                  else if (REMOVED == lineNumber) {                      style.display = 'block';                      style.backgroundColor = '#ffecec';                  }                  return style;              }}>              {codeSnippet}          </SyntaxHighlighter>

The output is as you see in the below image. ADDED is set to 1 and REMOVED is set to 2. Can you help me find what I am missing? Version is ^11.0.2

can you post your full code snippet

It's renamed to lineNumberProps


Content updates

Close #620
Filing home

Update content for Start the filing process card
Add comma after "specifications"

Before
After

Upload file

Add comma after "specifications"
Downcase link text

Before
After

Resolve Errors / Review Warnings

Added (CSV) to button text

Before
After

@billhimmelsbach Needs Bill's approval since both @shindigira and I have commits here.


collection_size_threshold incorrectly used in supports_collect_by_size

Describe the bug
In supports_collect_by_size, collection_size_threshold to compare the threshold for both total_byte_size (correct), but incorrectly as fallback for num_rows.
This leads to large planning differences for when estimated size is / is not available.
To Reproduce
Read the code.
Expected behavior
As a first step, introduce hash_join_single_partition_threshold_rows, being number of times (e.g. 10x) smaller than the number of bytes. Adapt hash_join_single_partition_threshold as well (may need to increase it).
We also can improve the estimation of size by improving the estimation.
Additional context
No response

@Dandandan, hi!
I created a draft pull request, did I understand the idea correctly?

Thank you @maruschin <3


Some voxel shape related mappings

Signed-off-by: liach<EMAIL_ADDRESS>

Would it also be worth adding a definition for VoxelShapeUtils.b? I believe that's just a full-cube.

I'll re-do this one by hand.

Uh, thought it was meant to be closed :sweat:

Closed means "taken care of" - this is not taken care of.

thanks


Add ASSERT_NEQ

I often find myself wanting to check a result is non-NULL. This patch
adds ASSERT_NEQ so that it is simple to write ASSERT_NEQ(result, NULL), for example.

This looks great. For consistency ("EQ"), I'm going to rename it to "ASSERT_NEQ", but that's a really minor nitpick. This will be merged into the next versioned release, and I'll note you contributed it in the changelog. Thanks.
Also, you could useASSERT(result) for NULL checking, though I also prefer the more explicit result != NULL.

Oh, ok. I was roughly following the GoogleTest naming conventions (I am familiar with those). Whatever works for your project!
Thanks for considering. Mind if I also add GT/GE/LT/LE?

Thanks. I was waiting to merge this because I mostly work on my open-source projects on the weekend these days.
I would be inclined not to include the other relational assertions (< >= etc.), because they will grow it past the self-imposed length limit (currently 963 lines, with sloccount). There are quite a lot of things that would be easy to add to greatest, but the length constrain has kept me thinking about what features are fundamental and worth including directly (such as test shuffling) vs. which could be easily defined in terms of other existing features -- NEQ in particular seems worth having an explicit automatic message for, but in the cases where ASSERT_GT is necessary, it can be defined in terms of ASSERT.

Sure, I'm not stressed for time at all. I just happened to have time to
work more on it.
Perhaps all the relational operators could be defined using the same macro
and avoid increasing the line count. Or if you're hesitant about adding
features at all, I understand and I'll drop it.
On Thursday, September 3, 2020, Scott Vokes<EMAIL_ADDRESS>wrote:

Thanks. I was waiting to merge this because I mostly work on my
open-source projects on the weekend these days.
I would be inclined not to include the other relational assertions (< >=
etc.), because they will grow it past the self-imposed length limit
(currently 963 lines, with sloccount). There are quite a lot of things that
would be easy to add to greatest, but the length constrain has kept me
thinking about what features are fundamental and worth including directly
(such as test shuffling) vs. which could be easily defined in terms of
other existing features -- NEQ in particular seems worth having an
explicit automatic message for, but in the cases where ASSERT_GT is
necessary, it can be defined in terms of ASSERT.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/silentbicycle/greatest/pull/102#issuecomment-686431035,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADB6D4A72BRE73ZC55ODYLSD56ALANCNFSM4QPN6DBA
.

I'm currently picking away at a blog post about options for unit testing DOS retro-hobby programs written using Open Watcom C/C++ and the absence of relational operations is pretty much the only reason I didn't just lazy out and recommend greatest as the option as soon as I found it.
As someone who normally writes Python or Rust and focuses on UI/UX concerns, having to reinvent them to get messages which say what the values actually were feels like a hugely outsized wart.
(Especially when greatest is already so much better than the other ones I've tried so far.)
While it's still on my "to test" list, the front page of another test framework named µnit does suggest that the "same macro" approach can work so I suppose the only question would be how much boilerplate is needed to make it work.
(Plus, it just seems strange that a library named greatest would be missing ASSERT_GT or equivalent.)

Well there's https://github.com/silentbicycle/greatest/pull/103. There's also Google Test, which is really good.

Well there's #103.

But the "I would be inclined not to include" I'm replying to is here.

There's also Google Test, which is really good.

Google Test lists a C++11 compiler and Bazel or CMake as requirements.
If I disqualified cmocka for requiring CMake when it's designed to be suitable for embedded uses and a wide range of C compilers, then I'm certainly going to disqualify something which requires CMake and a C++11 compiler.
Heck, Open Watcom C/C++ v1.9 (which I aim to keep compatibility with) doesn't even implement C99 fully. (though it does implement enough for RUN_TESTp)
If a framework is more complex than "add a .c file or two as dependencies in to your WMAKE.EXE Makefile" and doesn't provide a WMAKE makefile, I'm certainly not going to recommend it to people for DOS retro-hobby projects... especially when greatest gets so close to perfect with a single .h file.

Google Test can be bundled into one .h and one .cpp so you can just include and link to your projects, for what that's worth. You'll still need C++11, though.

I'm probably going to include < <= > >= assertions in the next release (soon).

Awesome! Thanks.
On Sun, Oct 18, 2020, 06:55 Scott Vokes<EMAIL_ADDRESS>wrote:

I'm probably going to include < <= > >= assertions in the next release
(soon).
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/silentbicycle/greatest/pull/102#issuecomment-711171386,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADB6D7UJJEHIFJJU7TG47DSLLXVZANCNFSM4QPN6DBA
.

They will be in 1.5.0.


Table: add centered column prop

Description
Add a centered property to TableColumn that can be used to centee the column content.
The property will add a class to the column.
The styling implementation must then come from the themes.
Otherwise, add a property like orientation (or align/alignment) with the values left, centered, right to align the column content. This could be an extension of the centered property.`.
Why Oruga need this feature
This is a  feature which is available in Buefy.

I like the idea of a property, maybe position is a more descriptive name for the property, with the proposed values

Nevermind, there is already a position prop...


issueテンプレとプルリクテンプレを作成する

そういえばなかったので作ります

✨✨ Here's an AI-assisted sketch of how you might approach this issue saved by @botamochi0x12 using Copilot Workspace v0.27

✨✨ Here's an AI-assisted sketch of how you might approach this issue saved by @botamochi0x12 using Copilot Workspace v0.27


Contract tab not updating after a new contract deploy

Deploying a contract using another contract from the Contracts tab, requires a reopen of the app in order to correctly display the new contract's name and functions
After deploying and before closing

After reopening the app, without touching anvil

fixed in #626


fix: Fix courseware URL in command

Pre-Flight checklist
What are the relevant tickets?
Fix for https://github.com/mitodl/mitxonline/pull/1295
What's this PR do?
Actually, fixes a value in courseware path generation that we missed in https://github.com/mitodl/mitxonline/pull/1295
How should this be manually tested?
Same steps as mentioned in https://github.com/mitodl/mitxonline/pull/1295

Codecov Report

Merging #1305 (3da10ba) into main (c6af964) will increase coverage by 3.82%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1305      +/-   ##
==========================================
+ Coverage   82.95%   86.78%   +3.82%
==========================================
  Files         299      146     -153
  Lines       12268     4207    -8061
  Branches      844        0     -844
==========================================
- Hits        10177     3651    -6526
+ Misses       1857      556    -1301
+ Partials      234        0     -234

Impacted Files
Coverage Δ

flexiblepricing/urls.py

ecommerce/views/v0/__init__.py

cms/templatetags/feature_img_src.py

flexiblepricing/mail_api.py

flexiblepricing/admin.py

main/utils.py

courses/models.py

cms/blocks.py

courses/constants.py

authentication/views.py

... and 143 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Why won't alvr(latest version 20.0.0) start for me? Bug or error drivers?

Description

Why won't alvr start for me? On the previous version, everything was fine and started, and now I delete the alvr folder in the "program files" folder and install installer alvr and run alvr, after a second it closes there just was just a white screen in the program. Windows 11 maybe not latest version windows. Driver nvidia on a latest version.

General Troubleshooting

[ ] I carefully followed the instructions in the README and successfully completed the setup wizard
[ ] I read the ALVR Wikis here and here

Environment
Hardware
Note: for Linux, an upload to the hw-probe database is preferred: hw-probe -all -upload
CPU:
i5-8400 2.10ghz
GPU:
RTX 2060 (6 GB)
Audio:
CABLE Input
Default headpones
Installation
ALVR Version:
20.0.0 Latest
SteamVR Version:
Latest
Install Type:

[x] Packaged (exe, deb, rpm, etc)
[ ] Portable (zip)
[ ] Source

OS Name and Version (winver on Windows or grep PRETTY_NAME /etc/os-release on most Linux distributions):
Windows 11

what helped you?

what helped you?

Open the program many times until it opens normally


printf: add description and version

Addresses https://github.com/uutils/coreutils/issues/2993
Hello! First time (attempting to be an) open-source contributor. I've made changes so that the user docs display a version number and a brief description, though I was curious if this would be the best way to do so.
The existing code was written so that the --help and --version arguments for printf did not use clap to auto-format, and therefore do not have colorized text and a consistent structure compared to other commands that do. I've currently kept it that way in this PR, overwriting help and version defaults because I'm unsure how I would prevent clap from creating -h and -V in the documentation, which seems like it would make things inconsistent with GNU documentation - let me know if I should just default to clap's help and version, or if there's a better way to approach this.
I was also curious about the LONGHELP_LEAD and LONGHELP_BODY formatting - some lines have one space indentations, while others have two and others have none. Is it within the scope of https://github.com/uutils/coreutils/issues/2993 to make it consistent, and if so, is there a format you'd want me to adhere to? I was also considering adding some of the formatting information to the user docs (since I personally wouldn't understand everything about printf from what's there so far), but wanted to confirm first if I should fix the formatting in these strings because then I could just copy and paste some of it over.
Sorry for the long wall of text, and thanks for letting my try and contribute :)

First time (attempting to be an) open-source contributor.

No need to be shy, you're officially a contributor now!

I've currently kept it that way in this PR

I think you've made the right call. This issue was just about the documentation and it is good to keep a PR focused. Now, it does look like we should eventually change printf's help to actually clap's output, so if you want you could try that next!

some lines have one space indentations, while others have two and others have none

It looks like the indentation is part of the formatting here, but I think that for each string, we should remove the common indentation. So remove 1 space from each line in LONGHELP_LEAD and 2 spaces from each line in LONGHELP_BODY. The exact format is something we still have to decide on, because the focus on documentation started only recently. The current text is also to long and detailed for a --help message to be honest. It feels like it was written to be a manpage, but we don't have those yet.

I was also considering adding some of the formatting information to the user docs (since I personally wouldn't understand everything about printf from what's there so far)

That is fair. The documentation is generated from clap, so if we change printf so that it uses clap's help message, it will show up in the docs as well.

Now, it does look like we should eventually change printf's help to actually clap's output, so if you want you could try that next!

Another mission :sunglasses: Looking back on my changes - and more recently comparing them to echo - I noticed that it uses clap's defaults but has -h and -V flags - should I make an issue for these things?

So remove 1 space from each line in LONGHELP_LEAD and 2 spaces from each line in LONGHELP_BODY. The exact format is something we still have to decide on, because the focus on documentation started only recently. The current text is also to long and detailed for a --help message to be honest. It feels like it was written to be a manpage, but we don't have those yet.

Removed the spacing. I didn't realize that the documentation and man pages are different things, but knowing that now I think it might best to hold off on including the formatting information, since users will eventually be find more comprehensive information there. I also don't think it would be clean or efficient to extract certain parts of LONGHELP_BODY, and directly putting all of it into the documentation looks strange and unwieldy. echo also doesn't have its additional information on its recognized sequences with the -e flag, so printf is consistent with it in the information that it shows (just arguments).
If you'd want me to include formatting instructions (or do anything else for this issue), just let me know. If not, I think I have this issue in a good spot!


⚠ Bofrost.fr has degraded performance

In fe8333a, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 830 ms

Resolved: Bofrost.fr performance has improved in ea4cbd9 after 8 minutes.


Idempotency for internal GraphQL API

to not have to worry about duplicate calls
See e.g.: https://shopify.engineering/building-resilient-graphql-apis-using-idempotency

I think the following mutations are already idempotent:

createAsset
updateAssetWithdrawalThreshold
updatePeer
deletePeer
addPeerLiquidity
addAssetLiquidity
createPeerLiquidityWithdrawal
createAssetLiquidityWithdrawal
createAccountWithdrawal
finalizeLiquidityWithdrawal
rollbackLiquidityWithdrawal
createOutgoingPayment
depositEventLiquidity
withdrawEventLiquidity
deleteAllApiKeys
revokeSession

which leaves the following:

createAccount
triggerAccountEvents
createPeer
createQuote
createApiKey
redeemApiKey
refreshSession

Should Shopify's indempotencyKey be added as an input field for all mutations for consistency? We currently just have id, eventId, etc serving as an idempotency key.
Do we need to support idempotent quote creation in graphql when it's not supported in Open Payments? (Retrying just results in more work for the server / duplicate quotes.)

@matdehaast :point_up_2: thoughts?

ALL of them?
My take is that Shopify post advocates for idempotency keys for making a payment service resilient.
Quote ids already act an idempotency keys for creating outgoing payments.

I wonder if it's just easier for the client to just always generate an idempotency key, no matter which mutation is done. I agree that outgoing payments don't need them due to the quote id. But who knows how much longer we will have quotes...


docs(code preview): add basic markup and styles

Description
This PR improves the component and code previews.
Fixes # (issue)
Type of change
Please delete options that are not relevant.

[x] This change contains documentation update

Breaking changes
None.
How Has This Been Tested?
Not tested yet.
Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules
[x] I have checked my code and corrected any misspellings

I have implemented most of the features, what remains to be done is:
[ ] - add relevant GitHub link instead of general one
[ ] - add the expand button when code is too long
[ ] - make sure the code syntax colors are not dark mode on production
[ ] - add the responsive view control buttons and probably use an iframe instead (this can be moved to another PR too)

I'm closing this so I can republish it with a branch name that follows the Contributing guide.

see #798


C+++++

👍🤖💚

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.<®©™>

ID: 3b0bc433-19b3-0787-68c5-da2bab4f2634
Version Independent ID: 3b0bc433-19b3-0787-68c5-da2bab4f2634
Content: Create and manage Microsoft Learn Collections - Contributor guide
Content Source: Contribute/content/collections.md
Product: non-product-specific
GitHub Login: @carlyrevier
Microsoft Alias: cahublou

Closing this issue because there is no question or issue to address.


Tooltip on axis labels which are truncated

What problem does this feature solve?
get full view of labels which are now truncated
What does the proposed API look like?
{
gridIndex: index,
show: index === 0,
position: 'top',
type: 'category',
data: this.graphData.map((item: ISourcingGraphView, i: number) => {
return {
value: i,
textStyle: {
overflow: 'truncate',
width: item['show_group_by'] ? item['group_width'] : 0,
tooltip: item['tooltip']
},
};
}),
alignTracks: false,
axisLabel: {
show: true,
position: 'top',
interval: 0,
formatter: (value: number) => {
const showGeo = Boolean(this.activeGraphType?.showGeo);
return showGeo
? this.graphData[value as number]['geography_code']
: this.graphData[value as number]['show_group_by']
? this.graphData[value as number]['group_by']
: '';
},
},
axisLine: {
onZero: true,
},
axisTick: {
show: false,
},
}

#16315 is for thos feature but it still needs discussion. You can refer to https://codepen.io/plainheart/pen/jOGBrmJ as a workaround.