From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id KDGdHUmGOWTYnwAASxT56A (envelope-from ) for ; Fri, 14 Apr 2023 18:58:49 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id 2PeLHEmGOWTAdQAAG6o9tA (envelope-from ) for ; Fri, 14 Apr 2023 18:58:49 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 435329DB1 for ; Fri, 14 Apr 2023 18:58:49 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pnMk9-0000hJ-Uh; Fri, 14 Apr 2023 12:57:49 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pnMk6-0000fc-F9 for emacs-orgmode@gnu.org; Fri, 14 Apr 2023 12:57:46 -0400 Received: from mail-pl1-x62d.google.com ([2607:f8b0:4864:20::62d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pnMk4-00057o-Ib for emacs-orgmode@gnu.org; Fri, 14 Apr 2023 12:57:45 -0400 Received: by mail-pl1-x62d.google.com with SMTP id d9443c01a7336-1a51d304648so10156465ad.3 for ; Fri, 14 Apr 2023 09:57:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1681491463; x=1684083463; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=9D3AepDDh4zsXlIGIMAEvwQwPLMWHSkwdiffVU1064w=; b=a0VoI6KSi5uedxW2dP6ITLDsuYOneDuw1jEVafrMzFa+HFEKSGlgeDZ3v/UylGfG3t FC9r5XJwNPYkIitC4FMexLA60PpWEffvIlviGan1F3kgjC/EZ71o83+y9nj7ZEkjVgHS W39vq7d9MwjFSC6xivAEyLUBS7YE4uJE9w9kmFBOaPafUy1fLecbgXWwCWdc2GHG5BEy yMunhUBVyq2s1dETwL78hKHDHxTiURnuPfjJLMHtz6aZas0EWDMG5xE5J/3HPZWMas6X anHZldZA+pdxOm0u2pKqouDa7kSC/jsUxZMas4/624uXEVeYT1+z+SviKNzKuyNb5/Xi ZrZA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681491463; x=1684083463; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=9D3AepDDh4zsXlIGIMAEvwQwPLMWHSkwdiffVU1064w=; b=BrlgVMpp3sW3o+isYDPCyT1vAECHimOZTbVKiCLBIfUMMZZxrKjf9azUIf68ateCbY /EXmf6JfUN3uyV2JngO+5AZelghm4DgJH4D3aq5hwdBeogV1etrkqd9TrCO35hmUJzvS 8EHQcXzWEbqXHki4+NJ/bCIdUkFr90F5yftArAs29sLHEXZp8Wv1OS4d1b557TZL16E6 8n/nDeiRj0B66m59icj9dwNinJVoHlcSea/VTQFqVWMYEyj3PYkiNFBQJ35FV4+tFBHI 1BMDreR/Y8Scpf26+T7Hi5R8P3VJhBFZ+ZSSIyNpG/rh+eJL+ouhz4nRH2zUq/WR3mo3 /WWg== X-Gm-Message-State: AAQBX9djj26G5cekBnsmVvPd7La/f42vdnASk4FD3HLiF6hLYAZKnjxN lB66YTrOlY8JJul1urj+zqY= X-Google-Smtp-Source: AKy350b4IZ0MWXvRzVvaCozNy+/js9jAzFU7Rtl0xe1Q19eaoqJBJCapzbtydJE16yZ/aWROOhuCOg== X-Received: by 2002:a05:6a00:9a8:b0:62d:d045:386 with SMTP id u40-20020a056a0009a800b0062dd0450386mr10345152pfg.18.1681491462512; Fri, 14 Apr 2023 09:57:42 -0700 (PDT) Received: from localhost (157-131-78-143.fiber.dynamic.sonic.net. [157.131.78.143]) by smtp.gmail.com with ESMTPSA id k12-20020aa7820c000000b00634dde2992bsm3249209pfi.132.2023.04.14.09.57.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Apr 2023 09:57:41 -0700 (PDT) From: Jack Kamm To: Ihor Radchenko Cc: emacs-orgmode@gnu.org, mail@nicolasgoaziou.fr Subject: Re: [RFC] ox-icalendar: Unscheduled tasks & repeating tasks In-Reply-To: <87o7oetneo.fsf@localhost> References: <874jq75okg.fsf@gmail.com> <87o7oetneo.fsf@localhost> Date: Fri, 14 Apr 2023 09:57:40 -0700 Message-ID: <87fs92bdvf.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2607:f8b0:4864:20::62d; envelope-from=jackkamm@gmail.com; helo=mail-pl1-x62d.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: emacs-orgmode-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN ARC-Seal: i=1; s=key1; d=yhetil.org; t=1681491529; a=rsa-sha256; cv=none; b=UbcTGbDz9AvOCaVUH+mmLzkrgsFo42lWQ6/OyVfnTXrgBHHAD/hKPst0OVWd/sqnOHX+9G QpID5f2pyjop804B5xijb2ElzAQ+nke0H034MFxtUfk0go4j0NA6l/AYCIoUrWN2NFOc1b gdL3dgdeUQDTMM59bjWJaW0BFL93nBtXgg3gTcYwpJHWNopdNHpDU9Jo6ThPN16wMolxjy QC1ZTNoFVyvgWL7nC4PGkfT17J6HrogLaY0MipjN0B4C1LN8tlmhR2aQfgrip2aWtR4bUV PDYrSfWmcUd+61Put42/PLcKibIf2TcFVQGLSx6TeMbS7ymdXsfP62+PtaVBcA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=a0VoI6KS; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1681491529; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=9D3AepDDh4zsXlIGIMAEvwQwPLMWHSkwdiffVU1064w=; b=JatxlFID/k2IvaP15lVkVrKMbIDau1MBtGOqGV+WGu+MtApFKaV/8MVaONXuPGgL1eQFuO yciUPTdR7BtpFP04ro6xjjXRJQLz1n/HK8JSHTxJtH1CjNcwGtIoU9zEcsfrkK+jXzi0uv 4yrAbXpBiWo9w9lJmpsLvQH6udtadx1Riy5UfoovOAnhM+LAR6xamXGVORrT7WdnHgh+ER CX44FaGEoUwcwjVcqdAlVHWO1UvIe/2YqHANllrS/G+QbLeUTLQ1ZIJIQjEvxzAFL/I1fB /BszFozs8Yh+qWg5DbL8Gyd5E05auEnuQ0EE2PycNOYUOWgUyAnMSzVDjTJIag== X-Migadu-Scanner: scn1.migadu.com X-Migadu-Spam-Score: -6.45 X-Spam-Score: -6.45 X-Migadu-Queue-Id: 435329DB1 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=a0VoI6KS; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=gmail.com X-TUID: 0QDaWvjhwFg/ Ihor Radchenko writes: > Another scenario we may need to consider is when schedule has a repeater > while deadline does not, and vice versa. The former scenario is probably > valid - a VTODO with limited number of occurrences. That is an interesting idea; and we can use the UNTIL or COUNT keywords in RRULE to implement it. However, it doesn't seem completely faithful to the way the TODO ends up in the Org Agenda (or does Org have some option to use DEADLINE to bound a repeating SCHEDULED in this way?) I think the most faithful way to represent different SCHEDULED and DEADLINE repeaters is to export 2 separate VTODOs, each with different RRULE. Then the exported iCalendar will look just like the Org Agenda. It is also in line with how ox-icalendar exports multiple timestamps to separate VEVENTs. That said, I am not really happy with this solution either. The fact that ox-icalendar can create multiple VEVENT per entry already creates headaches for any setup doing bidirectional sync between Org and iCalendar, such as with org-caldav, ical2org.awk, or ical2orgpy. And I am hesitant to make this problem worse, by making it happen for VTODO as well.